1
resposta

[Projeto] Meu código

const contagemRegressiva = () => {
    if(tempoDecorridoEmSegundos <= 0) {
        zerar()
        audioFim.play()
        alert('Tempo finalizado!')
        return
    }
    tempoDecorridoEmSegundos -= 1
    console.log('Temporizador: ' + tempoDecorridoEmSegundos)
}

comecarBt.addEventListener('click', iniciarOuPausar)

function iniciarOuPausar() {
    if(intervaloId) {
        audioPausar.play()
        zerar()
        return
    }
    intervaloId = setInterval(contagemRegressiva, 1000)
    audioIniciar.play()
}

function zerar() {
    clearInterval(intervaloId)
    intervaloId = null
}
1 resposta

Oi, Matheus! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei de como você estruturou o controle do temporizador, principalmente o uso do setInterval e a separação das funções iniciarOuPausar e zerar, o que ajuda bastante na legibilidade.

Uma dica interessante para o futuro é usar o método classList.toggle() para alternar classes no botão, indicando visualmente se o temporizador está rodando ou pausado:


comecarBt.classList.toggle('ativo')

Esse código adiciona ou remove a classe ativo sempre que o botão for clicado, o que pode ajudar na experiência visual do usuário.

Alura

Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!