@nikit-nikit

Таймер обратного отсчета с уведомлением. Как сделать?

Здравствуйте!
Как можно сделать так, чтобы после окончания таймера выводилось сообщение о том, что время вышло?

Вот таймер: https://jsfiddle.net/alexander_js_developer/Lk5v9ncw/
Вот пример вывода сообщения: https://yournet.info/example/timer/timer-v1.html
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
Efrosinium
@Efrosinium
Full Stack Developer
Для вывода сообщения лучше написать отдельную функцию.

Например:
const end = () => {
	alert('end');
}

Теперь осталось отследить, когда нам необходимо вызвать данную функцию. В предоставленном вами коде уже есть интервал, в котором происходит отсчёт. Он вызывается каждую секунду. В нём уже предусмотрено событие конца, когда отсчёт останавливается (clearInterval). Иначе бы было -1, -2, -3, ...

Функция step() будет выглядеть следующим образом:
const step = () => {
  if( state.timeleft.seconds-1 < 0 ){
    if( state.timeleft.minutes !== 0 ){
      state.timeleft.seconds = 59;
      state.timeleft.minutes = ( state.timeleft.minutes-1 < 0)  ? 0 : state.timeleft.minutes-1;
    } else {
    	clearInterval( state.timerId );
        end();
    }
  } else {
    state.timeleft.seconds--;
  }
  render();
}

Мы вызвали end() в месте, где происходит clearInterval(). Поэтому, сообщение будет вызвано после того, как на таймере будет 00:00.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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