Привет, я нашел здесь код и настроил его, чтобы добавить класс в зависимости от времени суток, но он не работает, я видел, как он работает сегодня в течение доли секунды, но класс не добавляется в банкомате, и я не знаю, почему.

<script type="text/javascript">
jQuery(document).ready(function(){
    var url, hour = new Date().getHours();
    if (hour > 8 && hour < 18) {
        jQuery('body').addClass('day');
    } else if (hour > 18 && hour < 21) {
        jQuery('body').addClass('midday');
    } else if (hour > 21 && hour < 8) {
        jQuery('body').addClass('night');
    }
});
</script>

Вы можете увидеть действующий код здесь: http://www.bbdimension.co.uk/files / wp / в основном идея для текущего региона (время Испании), если между 08:00 и 18:00 он добавляет класс дня, иначе, если он между 18:00 и 21:00, он добавляет класс полудня, а иначе, если его между 21:00 и 08:00 добавляется класс ночи.

Я что-то не так делаю, я не гуру JS. Я не мог использовать знак доллара, потому что он противоречил другим элементам сайта.

1
user1338176 29 Май 2013 в 02:11
Только что заглянул на сайт. Где вы создаете эти классы CSS?
 – 
Gramma2005
29 Май 2013 в 02:17

1 ответ

Лучший ответ
hour = new Date().getHours();

Тогда, если вы предупредите час, вы получите 0, потому что getHours () возвращает от 0 до 23

И так как 0 > 21 = false ваше последнее условие не будет выполняться

Перепишите ваше последнее условие следующим образом

else if (hour > 21 || hour < 8) 

Тогда он предупредит "ночь"

2
Nikola Mitev 29 Май 2013 в 02:16