Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.02.2012, 13:55
Новичок на форуме
Отправить личное сообщение для Tatyanko_O Посмотреть профиль Найти все сообщения от Tatyanko_O
 
Регистрация: 11.02.2012
Сообщений: 7

Изменение шапки сайта каждый день
Добрый день!
Очень нуждаюсь в вашем совете!
Задача довольно простая: каждый день с 15 по 18 число менять изображение на backgrounde. К сожалению, мой уровень подготовки не позволил реализовать это сразу и без ошибок
Вот моя последовательность действий.
Создала файл 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>

В общем, представляю, что скорее всего где-то совершаю чудовищную ошибку, поэтому заранее прошу о вашем снисхождении...

Последний раз редактировалось Tatyanko_O, 11.02.2012 в 14:05.
Ответить с цитированием
  #2 (permalink)  
Старый 11.02.2012, 20:55
Интересующийся
Отправить личное сообщение для Elergy Посмотреть профиль Найти все сообщения от Elergy
 
Регистрация: 10.09.2011
Сообщений: 16

да нет, код должен быть рабочий вполне, проверь внимательней существование header, мб синтаксическая ошибка. Хэдер это что, див же? У меня этот скрипт див разукрасил.

Проверь, до какого места доходит выполнение скрипта, происходит ли вообще вход в chg_bg и в нужный тебе кейз, существуют ли файлы этой шапки, не лежит ли html там, откуда images/shapka/18feb.jpg не ведет к файлу. Ну и в css не стоит ли где important у текущего backgroundImage
Ответить с цитированием
  #3 (permalink)  
Старый 11.02.2012, 22:19
Новичок на форуме
Отправить личное сообщение для Tatyanko_O Посмотреть профиль Найти все сообщения от Tatyanko_O
 
Регистрация: 11.02.2012
Сообщений: 7

С вашего разрешения опишу всю картину. В <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ке).
Пути проверила, этих картинок накопировала почти во все папки, чтобы проверить... Не выходит
Ответить с цитированием
  #4 (permalink)  
Старый 11.02.2012, 23:33
Интересующийся
Отправить личное сообщение для Denizz Посмотреть профиль Найти все сообщения от Denizz
 
Регистрация: 03.02.2012
Сообщений: 25

Привет, я немного "упростила " твой код, столько 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>

Стиль, примерный, естественно...Замени своим
Ответить с цитированием
  #5 (permalink)  
Старый 11.02.2012, 23:37
Интересующийся
Отправить личное сообщение для Denizz Посмотреть профиль Найти все сообщения от Denizz
 
Регистрация: 03.02.2012
Сообщений: 25

Извини, забыла свои image на твои febы поменять, задаю твои рисунки: a.style.backgroundImage='url(images/shapka/'+i+'feb.jpg)';
Ответить с цитированием
  #6 (permalink)  
Старый 12.02.2012, 03:35
Интересующийся
Отправить личное сообщение для Elergy Посмотреть профиль Найти все сообщения от Elergy
 
Регистрация: 10.09.2011
Сообщений: 16

ну я надеюсь ты там числа поменяла на 11, 12, а то нынче же не 15е) так вообще код рабочий вполне, проверяй докуда скрипт доходит (алертами хотя бы теми же)
Ответить с цитированием
  #7 (permalink)  
Старый 12.02.2012, 20:14
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Tatyanko_O
каждый день с 15 по 18 число
Не бывает каждый день 15-18 числа.
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';
	}
}
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #8 (permalink)  
Старый 13.02.2012, 10:56
Новичок на форуме
Отправить личное сообщение для Tatyanko_O Посмотреть профиль Найти все сообщения от Tatyanko_O
 
Регистрация: 11.02.2012
Сообщений: 7

Сообщение от Elergy
ну я надеюсь ты там числа поменяла на 11, 12, а то нынче же не 15е)
Да, это конечно) Пока выкрутилась следующим образом: в css создала headerу дополнительные классы, и изменяю следующим образом:
if (today==13)
{document.getElementById('header').className+='class1';}

Понимаю, что это наверное "как микроскопом гвозди забивать", но на данное время действует. Denizz, спасибо, буду совершенствовать и совершенствоваться
Сообщение от nerv_
Не бывает каждый день 15-18 числа.
Привязка именно к числу, все верно)) Т.е. например 15 февраля одна картинка, 16 - другая и т.п. (У меня в шапке отсчет дней до мероприятия)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение ширины блока каждый n-секунд AntoXa987 Элементы интерфейса 7 20.01.2012 18:12
Добавление к url сайта дополнительных слов и изменение тега Title Atlantweb Общие вопросы Javascript 7 14.01.2011 22:59
Изменение настроек сайта и добавление параметров в cookie Amateros Events/DOM/Window 6 06.01.2011 17:07
Скрипт смены картинок на каждый день года Артемий Б Работа 17 02.12.2010 22:49
Изменение шапки при обновлении страницы nasty blood (X)HTML/CSS 0 07.04.2008 13:13