Javascript. Как остановить запущенный таймер?


Функции setInterval() и setTimeout() выполняют свои задачи — но работать с ними не удобно, когда следует обрабатывать скрипт до определенного момента. Сейчас приведу найденный на просторах stackoverflow пример остановки запущенного таймера.

Итак, код с пояснениями ниже.

// объявляем глобальную переменную
var timer;

function endAndStartTimer() {
  // вырубаем запущенный таймер
  window.clearTimeout(timer);
    // если таймер надо продолжать
    if( needToStopTimer === false ){
    // интервал для таймера
    var millisecBeforeRedirect = 10000; 
    // создаем новый таймер
    timer = window.setTimeout(function(){alert('Hello!');},millisecBeforeRedirect); 
  }
}

.....

endAndStartTimer()

Постарался прокомментировать максимально подробно. Суть в том, что продление итераций таймера зависит от значения переменной needToStopTimer. Если таймер следует остановить — значение должно быть true.

Найдено здесь.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *