Добавить класс в зависимости от времени суток не работает
Привет, я нашел здесь некоторый код и настроил его, чтобы добавить класс в зависимости от времени дня, но он не работает, я видел, как он работает на долю секунды сегодня, но ни один класс не добавляется, и я не знаю почему.
<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 ответ
hour = new Date().getHours();
тогда, если вы предупредите час, вы получите 0, потому что getHours() возвращает 0-23
и с тех пор 0 > 21 = false
Ваше последнее условие не будет правдой
переписать ваше последнее условие следующим образом
else if (hour > 21 || hour < 8)
тогда это предупредит "ночь"