Показать сообщение отдельно
  #4 (permalink)  
Старый 29.01.2018, 13:45
Интересующийся
Отправить личное сообщение для Walk Посмотреть профиль Найти все сообщения от Walk
 
Регистрация: 14.08.2017
Сообщений: 28

Сообщение от рони Посмотреть сообщение
Walk,
строка 62, там обратный таймер, но логика таже, изменить вычитание несложно, чтоб время вперёд шло
https://javascript.ru/forum/dom-wind...tml#post476408
Спасибо за пример.

Нашел немного другой - протестировал - вроде как работает без задержек:

var second = 0;
var interval = 1000;
var expected = Date.now() + interval;

    setTimeout(step, interval);
    
    function step() {
        var dt = Date.now() - expected;
        if (dt > interval) {
            alert('Непредвиденная ошибка'); // ошибка которой не должно быть
        } else {
            
            // выполняем нужный код

            expected += interval;
            setTimeout(step, Math.max(0, interval - dt));
        }
    }
Ответить с цитированием