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

175
Vistas
Creé un cronómetro usando JavaScript y estoy tratando de iniciar/detener el temporizador con la tecla de espacio, pero no se detiene, sino que siempre se vuelve más rápido.

Creé un cronómetro usando JavaScript, y estoy tratando de iniciar/detener el temporizador con la tecla de espacio, pero no se detiene, sino que siempre se vuelve más rápido. '''

 var timer_start = "S"; var time; document.body.onkeyup = function (e) { if (e.keyCode == 32) { time = setInterval(timer, 10); if (timer_start == "S") { timer_start = "F"; } else if (timer_start == "F") { clearInterval(time); timer_start = "S"; } } };

,,,

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

0

Una vez que se presiona la barra espaciadora, vuelve a iniciar el temporizador, independientemente del valor actual de timer_start . Debe mover esto para que esté dentro de la instrucción if . También recomendaría usar un valor booleano en lugar de la cadena "S" y "F" .

Aquí está mi reescritura propuesta de su código:

 var timer_start = true; var time; document.body.onkeyup = function (e) { if (e.keyCode == 32) { if (timer_start) { time = setInterval(timer, 10); timer_start = false; } else { clearInterval(time); timer_start = true; } } };

También podrías acortarlo un poco haciendo esto si quisieras

 var timer_start = true; var time; document.body.onkeyup = function (e) { if (e.keyCode == 32) { if (timer_start) { time = setInterval(timer, 10); } else { clearInterval(time); } timer_start = !timer_start } };
about 4 years ago · Juan Pablo Isaza Denunciar

0

Establece el intervalo independientemente del estado de timer_start , por lo que sigue acumulando nuevos intervalos y elimina solo la mitad de ellos. Debe establecer el intervalo solo en la rama timer_start == "S" .

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