Изменение шапки сайта каждый день
Добрый день!
Очень нуждаюсь в вашем совете! Задача довольно простая: каждый день с 15 по 18 число менять изображение на backgrounde. К сожалению, мой уровень подготовки не позволил реализовать это сразу и без ошибок:cray: Вот моя последовательность действий. Создала файл myscript.js, содержащий следующее: window.onload = function() { chg_bg() } function chg_bg() { var mydate=new Date() var today=mydate.getDate() if (today==15) { document.getElementById('header').style.backgroundImage = 'url(images/shapka/15feb.jpg)'; } if (today==16) { document.getElementById('header').style.backgroundImage = 'url(images/shapka/16feb.jpg)'; } if (today==17) { document.getElementById('header').style.backgroundImage = 'url(images/shapka/18feb.jpg)'; } if (today==18) { document.getElementById('header').style.backgroundImage = 'url(images/shapka/18feb.jpg)'; } } В div id="header" указан, в css файле параметры для него указаны. Теперь вызываю этот скрипт: <head> ... <script src="/myscript.js" type="text/javascript"></script> </head> В общем, представляю, что скорее всего где-то совершаю чудовищную ошибку, поэтому заранее прошу о вашем снисхождении... |
да нет, код должен быть рабочий вполне, проверь внимательней существование header, мб синтаксическая ошибка. Хэдер это что, див же? У меня этот скрипт див разукрасил.
Проверь, до какого места доходит выполнение скрипта, происходит ли вообще вход в chg_bg и в нужный тебе кейз, существуют ли файлы этой шапки, не лежит ли html там, откуда images/shapka/18feb.jpg не ведет к файлу. Ну и в css не стоит ли где important у текущего backgroundImage |
С вашего разрешения опишу всю картину. В <head> вставила следующий код:
<head> ... <script type="text/javascript"> function chg_bg() { var mydate=new Date() var today=mydate.getDate() if (today==15) { document.getElementById('header').style.backgroundImage = 'url(images/shapka/15feb.jpg)'; } if (today==16) { document.getElementById('header').style.backgroundImage = 'url(images/shapka/16feb.jpg)'; } if (today==17) { document.getElementById('header').style.backgroundImage = 'url(images/shapka/18feb.jpg)'; } if (today==18) { document.getElementById('header').style.backgroundImage = 'url(images/shapka/18feb.jpg)'; } } </script> </head> Но когда ниже вызываю функцию: <body onload="chg_bg()"> шапка или исчезает вообще, ну или статична, не обновляется (по дефолту background прописан для #header в cssке). Пути проверила, этих картинок накопировала почти во все папки, чтобы проверить... Не выходит :cray: |
Привет, я немного "упростила " твой код, столько ifов лучше не использовать.Короче, попробуй так :
<html> <head> <script type="text/javascript"> function chg_bg() { var mydate=new Date(); var today=mydate.getDate(); var a=document.getElementById('header');//отдельная переменная а быстрее вычисляется// for (i=15;i<19;i++) if (i==today) { a.style.backgroundImage='url(images/image'+i+'.jpg)'; }} </script> </head> <body onload="chg_bg()";> <div id="header" width="100%"> <style> #header { background: url(images/image1.jpg) no-repeat; width: 996px; height: 230px; } </style> </div> </body> </html> Стиль, примерный, естественно...Замени своим |
Извини, забыла свои image на твои febы поменять, задаю твои рисунки: a.style.backgroundImage='url(images/shapka/'+i+'feb.jpg)';
|
ну я надеюсь ты там числа поменяла на 11, 12, а то нынче же не 15е) так вообще код рабочий вполне, проверяй докуда скрипт доходит (алертами хотя бы теми же)
|
Цитата:
window.onload = function() { var x = document.getElementById('header').style; switch(new Date().getHours()) { case 15: return x.backgroundImage = 'path'; case 16: return x.backgroundImage = 'path'; case 17: return x.backgroundImage = 'path'; case 18: return x.backgroundImage = 'path'; } } |
Цитата:
if (today==13) {document.getElementById('header').className+='class1';} Понимаю, что это наверное "как микроскопом гвозди забивать", но на данное время действует. Denizz, спасибо, буду совершенствовать и совершенствоваться :) Цитата:
|
Часовой пояс GMT +3, время: 05:08. |