Как перезагрузить страницу, когда jquery.counter вызывает событие finish.countdown для нескольких экземпляров?

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

$('.countdown').each(function() {
    var $this = $(this), 
    finalDate = $(this).data('countdown');

    $this.countdown((finalDate), function(event) {
        var days = event.strftime('%D');
        $(this).find('.days').children('span').html(days);
        $(this).find('.hours').children('span').html(event.strftime('%H'));
        $(this).find('.minutes').children('span').html(event.strftime('%M'));
        $(this).find('.seconds').children('span').html(event.strftime('%S'));
    });
    $(this).on('finish.countdown', function(event){
        /*if(!window.location.hash && !(window.location.hash.indexOf('_loaded') > -1)) {
            window.location = window.location + '#_loaded'; window.location.reload();
        }*/
        //If I put window location reload here it will goes into infinite loop. Also above commented code will reload page twice initially which is also not valid solution.
    });
});

Проблема: если обратный отсчет уже завершен (например, 00: 00: 00: 00), то перезагрузка страницы происходит дважды при первой загрузке скрипта,

Я использовал концепцию localStorage, но не смог найти точное решение. Пожалуйста помоги

1 ответ

У меня была почти эта проблема со страницей, постоянно перезагружаемой мгновенно. Попробуйте проверить, совпадают ли ваше местное время и время сервера. В моем случае разница составляла два часа, и это стало причиной того, что страница была в постоянном цикле. Плагин обратного отсчета имеет несколько заметок о осведомленности о часовом поясе: http://hilios.github.io/jQuery.countdown/examples/timezone-aware.html

Другие вопросы по тегам