Изменение шапки сайта каждый день
Добрый день!
Очень нуждаюсь в вашем совете! Задача довольно простая: каждый день с 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, время: 09:13. |