@svk44

Как работает clearInterval?

Разбираю таймер на js.
Есть функция startTimer, которая отвечает за работу таймера.
let hour = 00,
    minute = 00,
    second = 00,
    millisecond = 00,
    interval


function startTimer() {
    millisecond++
    if (millisecond < 9){
        millisecondElement.innerText = '0' + millisecond
    }
    if (millisecond > 9){
        millisecondElement.innerText = millisecond
    }
    if (millisecond > 99){
        second++
        secondElement.innerText = '0' + second
        millisecond = 0
        millisecondElement.innerText = '0' + millisecond
    }

    if (second > 9){
        secondElement.innerText = second
    }
    if (second > 59){
        minute++
        minuteElement.innerText = '0' + minute
        second = 0
        secondElement.innerText = '0' + second
    }

    if (minute > 9){
        minuteElement.innerText = minute
    }
    if (minute > 59){
        hour++
        hourElement.innerText = '0' + hour
        minute = 0
        minuteElement.innerText = '0' + minute
    }

    if (hour > 9){
        hourElement.innerText = hour
    }
}


И есть три кнопки, которые запускают, останавливают и сбрасывают значение таймера.
startButton.addEventListener('click', ()=>{
    clearInterval(interval)
    interval = setInterval(startTimer, 10)
})

pauseButton.addEventListener('click', ()=>{
    clearInterval(interval)
})

stopButton.addEventListener('click', ()=>{
    clearInterval(interval)
    reset()
})


ClearInterval - отменяет работу setInterval со значением которое возвращает setInterval.
Не могу понять, как работают эти строки при нажатии на старт:
clearInterval(interval)
    interval = setInterval(startTimer, 10)
  • Вопрос задан
  • 179 просмотров
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
clearInterval(interval) // остановить предыдущий счетчик
interval = setInterval(startTimer, 10) // запустить новый


Если не остановить предыдущий, то запустится еще один, и они будут работать параллельно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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