Как перезапустить таймер по кнопке

129
21 октября 2019, 06:50

Есть код таймера всё отлично только не знаю как сделать чтобы по кнопке которую я задам он перезапускался

    jQuery(document).ready(function($) {
  $('.send-new-code-button').click(function(event) {
    $('.send-new-code').show();
    $('.sent-to-number').show();
    (function(d){
  var display = d.querySelector('#countdown .display') // меняющаяся цифра
  var timeLeft = parseInt(display.innerHTML) // оставшееся время
  var timer = setInterval(function(){
    if (--timeLeft >= 0) { // если таймер всё еще больше нуля
      display.innerHTML = timeLeft // обновляем цифру
    } else {
      d.querySelector('#countdown h1').style.display = 'none' // прячем теекст
      d.querySelector('.send-new-code').style.display = 'none' // прячем теекст
      d.querySelector('.sent-to-number').style.display = 'none' // прячем теекст
      d.querySelector('.send-new-code-button').style.display = 'inline-block' // показываем кнопку
      clearInterval(timer) // удаляем таймер
    }
  }, 1000)  // таймер срабатывает каждые 1000 msec (1 sec)
})(document)
});
});
Answer 1

Для перезапуска таймера нужно где-либо хранить его идентификатор (возвращаемый функциями setTimeout и setInterval) и в нужном месте (обработчике кнопки, например) отменять его (через clearTimeout или clearInterval) и запускать заново.

READ ALSO
Экземпляры в ES6

Экземпляры в ES6

Назрел глупый вопрос, не могу сообразить как загуглить, поэтому пришел за помощью :)

101
Эффект затемнения css [закрыт]

Эффект затемнения css [закрыт]

Как сделать такой эффект затемнения слайдера как здесь

102
Как удалить пару ключ-значение, в зависимости от типа значения с помощью for in?

Как удалить пару ключ-значение, в зависимости от типа значения с помощью for in?

нужно удалить свойство если его значение число, или строка, в зависимости от условия

123
Контекст вызова.Не видит массив [дубликат]

Контекст вызова.Не видит массив [дубликат]

На данный вопрос уже ответили:

135