Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.05.2016, 16:11
Интересующийся
Отправить личное сообщение для denka977 Посмотреть профиль Найти все сообщения от denka977
 
Регистрация: 30.01.2016
Сообщений: 23

Смена класса для DIV блока каждый месяц (доработать)
Здравствуйте!

Вопрос не сложный, но не для меня
Есть готовый и рабочий код, но он работает только относительно контейнера body.

Нужно, чтобы тег class дописывался в зависимости от месяца для, например, DIV блока, а не для body, как в примере:

<div id="test1"></div> // - для этого блока нужно менять (дописывать class)

JS код:

<script language="javascript" type="text/javascript">
var d = document;
var kodabramonth = {
    '1':'on',
    '2':'tw',
    '3':'no',
    '4':'qu',
    '5':'od',
    '6':'sx', // для <body> дописывается class "sx", если месяц по счету шестой.
}
window.onload = function()   {
    var body = d.body;
    var head = d.getElementsByTagName('body')[0];
    var dat = new Date();
    var m = dat.getMonth();
    m++;
    var curclass = kodabramonth[+m];
    if(curclass) body.className = curclass;
}
</script>

Последний раз редактировалось denka977, 13.05.2016 в 16:13.
Ответить с цитированием
  #2 (permalink)  
Старый 13.05.2016, 19:39
Интересующийся
Отправить личное сообщение для denka977 Посмотреть профиль Найти все сообщения от denka977
 
Регистрация: 30.01.2016
Сообщений: 23

Сообщение от Rise Посмотреть сообщение
denka977,
window.onload = function() {
	var m = ['on', 'tw', 'no', 'qu', 'od', 'sx'], i = new Date().getMonth();
	if (i in m) document.getElementById('test1').className = m[i];
}
Гениально просто, скрипт работает. Полностью копирую рабочий код с тестовым div контейнером на интернет сайт, а вот там почему-то код не работает. Вне зависимости от местоположения скрипта и наличия посторонних скриптов - результат неудовлетворительный. В чем может таится причина?
Ответить с цитированием
  #3 (permalink)  
Старый 13.05.2016, 19:59
Интересующийся
Отправить личное сообщение для denka977 Посмотреть профиль Найти все сообщения от denka977
 
Регистрация: 30.01.2016
Сообщений: 23

Сообщение от Rise Посмотреть сообщение
denka977, смотрите ошибки в консоли F12
Определил, что скрипт все-таки работает на страницах, где нет другого скрипта, который тоже использует window.onload.

Такой скрипт:

<script>
var script = document.createElement('script');
script.src = 'сайт/ad.js';
		window.onload = function(){
			var a = document.getElementsByName('cut')[0];
            a.appendChild(script);
			a.innerHTML = '<div class="ad123">123</div>';
		}
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 13.05.2016, 20:16
Интересующийся
Отправить личное сообщение для denka977 Посмотреть профиль Найти все сообщения от denka977
 
Регистрация: 30.01.2016
Сообщений: 23

Решил это через

<script>
window.onload=function() {
         script1();
         script2();
}
</script>


с заменой в каждом скрипте window.onload на var script1 и var script2 соответственно. Спасибо!
Ответить с цитированием
  #5 (permalink)  
Старый 13.05.2016, 20:22
Интересующийся
Отправить личное сообщение для denka977 Посмотреть профиль Найти все сообщения от denka977
 
Регистрация: 30.01.2016
Сообщений: 23

Сообщение от Rise Посмотреть сообщение
denka977,
window.onload = function() {
	var m = ['on', 'tw', 'no', 'qu', 'od', 'sx'], i = new Date().getMonth();
	if (i in m) document.getElementById('test1').className = m[i];
}
Вот еще что, CSS стили не работают, не смотря на добавление class="on".
А вот если вручную прописать class="on", а не через скрипт, то css подцепляется. Загадка
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jquery resize для div (а не только для window) Vitaliy88 Events/DOM/Window 102 12.08.2013 22:33
поиск классов внутри тега yozuul jQuery 24 14.06.2013 22:00
Использование классов в JavaScript devote Ваши сайты и скрипты 70 01.02.2013 17:17
Смена Div по ссылке ketvil Элементы интерфейса 5 10.06.2011 13:31
Скрипт для динимического изменения div arsen Общие вопросы Javascript 3 30.09.2010 11:29