25.01.2012, 14:29
|
Новичок на форуме
|
|
Регистрация: 22.09.2011
Сообщений: 3
|
|
Сменя CSS в определенный день недели
Доброго времени суток!
Нужен скрипт смены css-стиля в определенный день недели.. Пользовался поиском, нашел скрипт смены по дням недели (вс-пн) - вот тут, но мне нужно, чтобы CSS менялся на другой только в пятницу, а в остальные дни был обычный.
В javascript полный чайник...
|
|
25.01.2012, 16:12
|
|
Профессор
|
|
Регистрация: 06.05.2009
Сообщений: 1,163
|
|
if((new Date()).getDay() == 5){
element.className = 'friday-class'
}else {
element.className = 'other-all-class'
}
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
|
|
25.01.2012, 16:14
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
<link rel="stylesheet" href="style.css">
<script>
(function(){
var date = new Date(),
time = +date,
day = ( 12 - date.getDay() ) % 7 ;
function friday(){
document.getElementsByTagName('link')[0].setAttribute('href', 'friday.css')
}
if(day) {//не пятница
date.setDate( date.getDate() + day )
date.setHours( 0, 0, 0, 0 )
setTimeout( friday , date - time )
}else{ //пятница
friday()
}
})()
</script>
=))
__________________
29375, 35
Последний раз редактировалось Aetae, 25.01.2012 в 16:37.
|
|
25.01.2012, 16:17
|
|
Профессор
|
|
Регистрация: 06.05.2009
Сообщений: 1,163
|
|
Сообщение от Aetae
|
day = ( 12 - date.getDay() ) % 7 ;
|
Нафига? Так каждый день будет пятница
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
|
|
25.01.2012, 16:26
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
?
alert(( 12 - new Date().getDay() ) % 7 + ' дня до пятницы')
__________________
29375, 35
|
|
25.01.2012, 16:31
|
|
Профессор
|
|
Регистрация: 06.05.2009
Сообщений: 1,163
|
|
Сообщение от Aetae
|
if(day !== 5) {//не пятница
|
Ну тут же ты не проверяешь сколько дней до пятницы, а проверяешь какой сегодня день. day === 5 будет только при getDay() === 0, чего собственно не бывает.
Да, это я опечатался тоже, будет не пятницей каждый день.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
|
|
25.01.2012, 16:36
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
Да есть такое, поправил.
На коленке делал, так что я не виноват.)
P.S. getDay() === 0 - бывает, это воскресенье.
__________________
29375, 35
Последний раз редактировалось Aetae, 25.01.2012 в 16:41.
|
|
25.01.2012, 17:17
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
Вариант ...
var day = ['воскресенья','понедельника','вторника','среды','чеверга','пятницы','субботы']
var data = (new Date()).getDay();
var arr = [];
for (var i=0; i<7; i++) {
arr[i]= i - (data>i?(data-7):data) + ' дня до '+day[i]
}
alert(arr.join('\n'))
|
|
25.01.2012, 17:19
|
|
Профессор
|
|
Регистрация: 06.05.2009
Сообщений: 1,163
|
|
Сообщение от Aetae
|
P.S. getDay() === 0 - бывает, это воскресенье.
|
Хм, а я подумал с единицы считается, хотя таки не правильно предположение.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
|
|
25.01.2012, 17:53
|
Новичок на форуме
|
|
Регистрация: 22.09.2011
Сообщений: 3
|
|
Aetae, подправил скрипт под себя (движок DLE):
<link rel="stylesheet" href="{THEME}/css/style.css" type="text/css" media="screen, projection" />
<script>
(function(){
var date = new Date(),
time = +date,
day = ( 12 - date.getDay() ) % 7 ;
function friday(){
document.getElementsByTagName('link')[0].setAttribute('href', '{THEME}/css/friday.css')
}
if(day) {//не пятница
date.setDate( date.getDate() + day )
date.setHours( 0, 0, 0, 0 )
setTimeout( friday , date - time )
}else{ //пятница
friday()
}
})()
</script>
Не работает... (менял дату на локальном компьютере)
Имеет значение, что на странице подключены 2 css-файла? Я так полагаю, что скрипт должен, при условии что сегодня пятница, заменять файл style.css на friday.css в элементе <link href="">?
|
|
|
|