Hola a todos.
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>