Reloj con cuenta regresiva.

En este artículo mostramos un reloj que realiza una cuenta regresiva. Nos dirá cuántos días, horas, minutos y segundos faltan para una fecha futura que nosotros especifiquemos. Como ejemplo de funcionamiento del script, el reloj de la página nos dirá el tiempo que falta para el fin de año (2005). Para poderlo utilizar usted tiene que asignar dos valores:

  • var futuro = new Date(año,mes,día,hora,minuto);
  • var actualia = milisegundos;


Indice.

1.- ¿Cuánto tiempo falta para fin de año (2005)?

Como ejemplo del funcionamiento del reloj regresivo, este calcula el tiempo que falta para finalizar el año 2008



2.- Código que se utiliza.


Coloque este código dentro la etiqueta <head> ... </head>

<script type="text/javascript">
// autor ... http://personal-de-jall.webcindario.com
// contacto ... ja_lopezl@yahoo.es
// estas dos variables se pueden modificar para
// adaptarlas a sus necesidades
//fecha de referencia del contador: fin del año 2008
var futuro = new Date (2008,11,31,23,60);
//actualiza el contador cada 4 segundos ( = 4000 milisegundos)
var actualiza = 4000;
// función que calcula y escribe el tiempo en días, horas, minutos y segundos
// que faltan para la variable futuro
function faltan(){
var ahora = new Date();
var faltan = futuro - ahora;
// si todavís no es futuro
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;
// escribe los resultados
(segundos_s < 10)? segundos_s = "0"+ segundos_s: segundos_s = segundos_s;
(minutos_s < 10)? minutos_s = "0"+ minutos_s: minutos_s = minutos_s;
(horas_s < 10)? horas_s = "0"+ horas_s: horas_s = horas_s;
(dias < 10)? dias = "0"+ dias: dias = dias;
var resultado = dias + " dias : " + horas_s + " horas : " + minutos_s + " minutos : " + segundos_s + " segundos" ;
document.formulario.reloj.value = resultado;
//actualiza el contador
setTimeout("faltan()",actualiza);
}
// estamos en el futuro
else {
document.formulario.reloj.value= "00 dias : 00 horas : 00 minutos : 00 segundos" ;
}
}
</script>

Modifique la etiqueta inicial de <body> para que sea parecida a esta:

<body onload="faltan();">

En el lugar en el que va a aparecer el reloj ponga lo siguiente:

<form name="formulario">
<input type="text" name="reloj" value="" size="40" style="border : 1px solid black; text-align : center">
</form>



3.- Observaciones.

  1. Respecto a var futuro:
    Cuando escriba una fecha futura tenga en cuanta que los meses en javascript se empiezan a contar desde el cero y por lo tanto, si el futuro está en el mes 12 usted debería escribir 11 en el lugar del mes, 4 si el mes es mayo, etc.
  2. Respecto a var actualiza:
    El tiempo que tarda en actualizarse el reloj está medido en milisegundos por lo tanto, si actuliza vale 5000 quiere decir que el contador se actualiza cada 5 segundos; 10000 actualizará cada 10 segundos y así sucesivamente.
  3. Si necesita alguna aclaración escríbame un e-mail



Añadir a Favoritos Internet Explorer

Menú

Categorías


Lo Último

  Mis programas  Matemáticas  Geometría  Programación WEB  Flash MX  Variados
Dedicado a ANGELES y a RAMON.
Realizado por José Antonio López Lorenzo (JALL)
Vigo - Galicia - España -Europa