Обратный отсчет JQuery не работает в IE

Почему это не работает в IE? Я использую плагин обратного отсчета от Кита Вуда, обновил плагин и JQuery. Все таймеры показывают 00:00 в IE, и будет отображаться только первый таймер.

<script type = "text/javascript">
    $(function() {
        var i = 0;
        $('.countdown').each(function() {
            var year = $(this).attr('yr');
            var month = $(this).attr('mth') - 1;
            var day = $(this).attr('day');
            var hour = $(this).attr('hr') - 3;
            var minute = $(this).attr('min');
            var second = $(this).attr('sec');
            var ends = new Date();
            ends = new Date(year, month, day, hour, minute, second);
            $('#countdown_' + i).countdown({until: ends, format: 'MS', compact: true});
            i++;
            console.log("Countdown!");
        });
    });
</script>

person user3161764    schedule 05.01.2014    source источник
comment
Закомментируйте console.log   -  person j08691    schedule 05.01.2014
comment
Это устранило проблему с их отображением, но теперь они все еще показывают 00:00.   -  person user3161764    schedule 05.01.2014


Ответы (1)


Вы вычитаете час:

var hour = $(this).attr('hr') - 3;

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

person Brian Mains    schedule 05.01.2014
comment
Это помогло! Единственная проблема в том, что мне пришлось вычесть 3 часа, чтобы получить правильное время, отображаемое в браузере Chrome. Но теперь Chrome и IE имеют разные часовые пояса, поскольку их таймеры разные. Есть ли способ установить часовой пояс для браузера? - person user3161764; 05.01.2014
comment
Удаление -3 и добавление .getUTCHours() в конце новой функции Date исправили это! Спасибо за быструю помощь в отладке, я удивлен, что это было такое простое решение. - person user3161764; 05.01.2014