Не работает скрипт при перезагрузке скрипта каталога
Срочно нужна помощь! Я на сайте собираюсь выполнить функцию при которой появляется один элемент при определенном времени суток
<script type="text/javascript">
var day = new Date();
var hour = day.getHours();
$(window).load(function() {
if (hour >= 23 && hour < 11) {
$('.t-store__card__mark:eq('0')').css('display' , 'block');
};
});
</script>
Но когда я начинаю выбирать категории товаров скрипт с каталогом перезагружается и возвращает элемент в исходное состояние, то есть пропадает, а должен появляться с 23 до 11. Класс элемента, который указан в скрипте является частью каталога. Каким образом решить данную задачу, чтобы скрипт всегда был подгружен?
Ответы (1 шт):
Вам необходимо:
1. Использовать не $(window).load, а $(window).on('load', function(){...}
Так как load подгружает файл, который указан, а on('load' проверяет загрузку документа.
2. В функции if (hour >= 23 && hour < 11) { используйте ||(или) вместо &&(и) Потому что в противном случае он должен будет удовлетворять обоим вариантам одновременно. И быть больше 23 и одновременно быть меньше 11, что не возможно.
3. В строке $('.t-store__card__mark:eq('0')') у Вас стоит лишнее экранирование.
var day = new Date();
var hour = day.getHours();
$(window).on('load', function() {
if (hour >= 23 || hour < 11) {
$('.t-store__card__mark:eq(0)').css('display' , 'block');
}
});
.t-store__card__mark{
display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="t-store__card__mark">Время ночь</div>