Estoy intentando armar una cuenta regresiva con código que he visto en este foro y en el resto de la web. Le he añadido algunas cosas y pensaba que la lógica estaba bien, pero no funciona. Consiste en una cuenta regresiva que, al llegar la fecha deseada, se le añada automáticamente 1 día y el contador comience de nuevo.
¿Alguna ayuda?
Muchas gracias por adelantado.
Código Javascript:
Ver original
<HTML> <HEAD> <script type="text/javascript" language="JavaScript"> var futuro = new Date (2017,9,22,20,02); //año, mes-1, dia, hora, minutos var actualiza = 1000; function faltan() { var ahora = new Date(); var faltan = futuro - ahora; if (faltan > 0){ var segundos = Math.round(faltan/1000); var minutos = Math.floor(segundos/60); var segundos_s = segundos%60; var horas = Math.floor(minutos/60); var minutos_s = minutos%60; var dias = Math.floor(horas/24); var horas_s = horas%24; document.formulario.reloj.value= dias + " dias : " + horas_s + " horas : " + +minutos_s + " minutos : " + segundos_s + " segundos" ; setTimeout("faltan()",actualiza); } else //SI LA FECHA YA HA LLEGADO... { var futuro = new Date(); futuro.setHours(futuro.getHours()+24); //...LE SUMAMOS 1 DÍA (EN HORAS) A LA HORA ACTUAL Y... var actualiza = 1000; function faltan() //...VOLVEMOS A COMENZAR LA CUENTA REGRESIVA { var ahora = new Date(); var faltan = futuro - ahora; if (faltan > 0){ var segundos = Math.round(faltan/1000); var minutos = Math.floor(segundos/60); var segundos_s = segundos%60; var horas = Math.floor(minutos/60); var minutos_s = minutos%60; var dias = Math.floor(horas/24); var horas_s = horas%24; document.formulario.reloj.value= dias + " dias : " + horas_s + " horas : " + +minutos_s + " minutos : " + segundos_s + " segundos" ; setTimeout("faltan()",actualiza); } document.formulario.reloj.value= "0 dias : 0 horas : 0 minutos : 0 segundos" ; return true; } } </script> </head> <BODY onload="faltan()"> <form name="formulario"> <input type="text" name="reloj" value="" size="55" style="border : 0px ; text-align : center"> </form> </body> </html>