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

164
Vistas
Cómo hacer que comience la cuenta regresiva después de hacer clic en un botón usando el almacenamiento local
if(localStorage.getItem("total_seconds")){ var total_seconds = localStorage.getItem("total_seconds"); } else { var total_seconds = 6*10; } var minutes = parseInt(total_seconds/60); var seconds = parseInt(total_seconds%60); function countDownTimer(){ if(seconds < 10){ seconds= "0"+ seconds ; } if(minutes < 10){ minutes= "0"+ minutes ; } document.getElementById("quiz-time-left").innerHTML = "Time Left :"+minutes+"minutes"+seconds+"seconds"; if(total_seconds <= 0){ setTimeout("document.quiz.submit()",1); } else { total_seconds = total_seconds -1 ; minutes = parseInt(total_seconds/60); seconds = parseInt(total_seconds%60); localStorage.setItem("total_seconds",total_seconds) setTimeout("countDownTimer()",1000); } } setTimeout("countDownTimer()",1000);

Aquí está el código de cuenta regresiva que copié, quiero que este contador comience después de hacer clic en el botón, pero parece que no puedo tener éxito. No pude encontrar una manera de poner la función de trabajo onclick sería bueno si pudiera recibir algunas sugerencias y consejos.

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

0

pon tu última línea setTimeout(countDownTimer(),1000); dentro de una función de un evento onclick ; Si ha especificado `onclick' como un atributo en el html del botón, su valor debe establecerse en el nombre de la función en la que lo ha puesto:

 <button onclick="startTimer();">start</button>

donde tiene tu js

 function startTimer (){ setTimeout(countDownTimer,1000); }

alternativamente, ponga setTimeout(countDownTimer,1000); dentro de un detector de eventos para el botón:

 let buttonElement = document.getElementById(<id attribute of button>); buttonElement.addEventListener('click', () {setTimeout(countDownTimer,1000)});

Además, elimine las comillas alrededor de countDownTimer() : es una función, no una cadena. El nombre de la función dentro setTimeout no debe tener () , solo el nombre de la función. Por último, setTimeout se activará una vez, después del argumento de tiempo. Si necesita que se ejecute cada 1000 ms, use setInterval en su lugar.

Para reanudar el temporizador automáticamente cuando el usuario regrese, modifique el bloque if inicial de la siguiente manera:

 if(localStorage.getItem("total_seconds")){ var total_seconds = localStorage.getItem("total_seconds"); // start timer from here as storage was found; startTimer (); } else { var total_seconds = 6*10; }

De esa forma, se hace una llamada para iniciar el cronómetro si se encontró un valor en el almacenamiento, indicando una visita anterior. Es posible que desee incluir alguna verificación sobre cuál es el valor en caso de que ya haya llegado a cero, pero el resto de su código puede encargarse de eso de todos modos.

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