Quiero mostrar un texto una vez que el temporizador llega a las 0:00, y cuando el temporizador está entre 1 y 9 segundos, quiero mostrar un 0 delante de los segundos, por ejemplo, 1:04 en lugar de 1: 4 . ¿Cómo haría esto?
const timeSpan = document.getElementById('timer'); var sec = 600 / 60; const mins = sec; const now = new Date().getTime(); const deadline = mins * 60 * 1000 + now; setInterval(() => { var currentTime = new Date().getTime(); var distance = deadline - currentTime; var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); timeSpan.innerHTML = minutes + ':' + seconds; }, 500)Puedes:
minutes+seconds <= 0 . Si esto es cierto, la cuenta regresiva llegó a 0. Puede usar esta condición para generar una cadena personalizada.setInterval y utilícela para detener el temporizador cuando el retraso sea cero. const timeSpan = document.getElementById('timer'); const mins = 6 / 60; // For the demo I shortened the deadline const now = new Date().getTime(); const deadline = mins * 60 * 1000 + now; // Get the timer identifier let timer = setInterval(() => { var currentTime = new Date().getTime(); var distance = deadline - currentTime; var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); if (minutes+seconds <= 0) { // The delay is 0 timeSpan.innerHTML = "You can claim points"; clearInterval(timer); // Stop the timer } else { // Replace single digits with double digits timeSpan.innerHTML = (minutes + ':' + seconds).replace(/\b\d\b/g, "0$&"); } }, 500); <span id="timer"></span>