Почему условие в setInterval не всегда срабатывает?

Ест setInterval и находящееся в нем условие не всегда срабатывает, почему так происходит?

var timerb = setInterval(function() {
if ($('#date').html() == '00:01') {
clearInterval(timerb);
var url = window.location.href;
$(document.body).load(url);
}
}, 1000);
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
Aetae
@Aetae Куратор тега JavaScript
Тлен
Очевидно потому, что значение '00:01' проскакивает между вызовами setInterval.

Почему?
Во-первых: потому что 1000 в параметрах ничего не гарантирует, перерыв может быть больше - в двух случаях:
1. если выполнение вызываемой функции происходит дольше интервала(не наш случай);
2. если вкладка не активна, все современные браузеры сильно замедляют таймеры(самая вероятная причина).
Во-вторых: числа меняются какой-то другой функцией и совершенно неизвестно как там работает таймер.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы