Задать вопрос
@yagyar001

Как запустить таймер (setInterval) после остановки?

Всем привет. Учу js. Есть две кнопки. По нажатию на кнопку старт в абзаце начинается отсчет. По нажатию на кнопку стоп отсчет прекращается. Но если после нажатия кнопки стоп нажать на старт, то ничего не происходит. Таймер не запускается. Как сделать, чтобы он запускался?
<input type="button" id="start" value="Старт">
<input type="button" id="stop" value="Стоп">

<p class="timer"></p>

let start = document.querySelector('#start');
let stop = document.querySelector('#stop');
let timer = document.querySelector('.timer');

let startTimer;
start.addEventListener('click', function setTimer(event){
	timer.innerHTML = 1;
	startTimer = setInterval(function(){
		timer.innerHTML++;
	}, 1000);
	this.removeEventListener('click', setTimer);
});

stop.addEventListener('click', function(){
	clearInterval(startTimer);
	timer.innerHTML = '';
})
  • Вопрос задан
  • 1153 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 2
Avilona
@Avilona
у вас в
start.addEventListener

отвязывается обработка события нажатия кнопку старт в конце
this.removeEventListener('click', setTimer);

после этого событие на старт и не срабатывает
Ответ написан
@yavaskript
this.removeEventListener('click', setTimer);
потому что вы после нажатия на Старт отвязываете от кнопки eventlistener, и она больше не слушает события
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы