Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

172
Vistas
Countdown does not stop properly

Onclick Countdown for an Alarmclock does not stop properly. It stops at "-1:0" and not 0:00 as planed. Tryed to solve the Problem by changing the "> < =" Operators but i dont get it right. Maybe someone can help me with that.

function startTimer() {
  let startTime = new Date().getTime();
  let fiveMinutes = 5 * 1 * 1000;
  let endTime = startTime + fiveMinutes;

  var countdown = setInterval(function count() {
    let timeLeft = endTime - new Date().getTime();
    let minutes = timeLeft / (1000 * 60);
    minutes = Math.floor(minutes);
    let seconds = (timeLeft / 1000) % 60;
    seconds = Math.round(seconds);
    let text = minutes + ':' + seconds;
    timer.innerHTML = text;

    if ((minutes <= 0) && (seconds <= 0)) {
      clearInterval(countdown);
    }
  }, 1000);
}
<div class="timer center margin-top" id="timer">
  00:05
</div>

<div class="button center">
  <img onclick="startTimer()" img src="img/btn.png" />
</div>

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Your problem is only using Math.floor(minutes). try to use Math.round(minutes)

this is code for solve your problem :

function startTimer() {
  let startTime = new Date().getTime();
  let fiveMinutes = 5 * 1 * 1000;
  let endTime = startTime + fiveMinutes;

  var countdown = setInterval(function () {
    let timeLeft = endTime - new Date().getTime();
    let minutes = timeLeft / (1000 * 60);
    minutes = Math.round(minutes);
    let seconds = (timeLeft / 1000) % 60;
    seconds = Math.round(seconds);
    let text = minutes + ':' + seconds;
    timer.innerHTML = text;

    if ((minutes <= 0) && (seconds <= 0)) {
      clearInterval(countdown);
    }
  }, 1000);
}
<div class="timer center margin-top" id="timer">
  00:05
</div>

<div class="button center">
  <img onclick="startTimer()" img src="img/btn.png" alt="button start" />
</div>

about 4 years ago · Juan Pablo Isaza Denunciar

0

function startTimer() {
  let startTime = new Date().getTime();
  // If its five minute  5 * 60 * 1000;
  let fiveSeconds = 5 * 1000;
  let endTime = startTime + fiveSeconds;

  var countdown = setInterval(function count() {
    let timeLeft = endTime - new Date().getTime();
    let minutes = Math.floor((timeLeft / (1000 * 60)) % 60);
    
    let seconds = Math.floor((timeLeft / 1000) % 60);
    
    // Once test is passed do the DOM manipulation
    let text = minutes + ':' + seconds;
    timer.innerHTML = text;
    
    if ((minutes <= 0) && (seconds === 0)) {
      return clearInterval(countdown);
    }
  }, 1000);
}
<div class="timer center margin-top" id="timer">
  5:00
</div>

<div class="button center">
  <button onclick="startTimer()">Start</button>
</div>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda