Contador hacia atrás javascript

por

Hoy vamos a tocar un area que hasta ahora no habimos mencionado. Vamos a ver como se peude crear una cuentra atrás que nos mostrará los dias,horas,minutos y segundos que faltan hasta una fecha que le pasemos a través de los parametros de la función.

Está realizado enteramente en javascript apoyado, como es obvio de un código html sobre el que se cargará los datos y se irán actualizando.

Lo primero que vamos a ver será la función javascript que realiza toda la operación de cuenta atrás:


<script type="text/javascript">

function countDown(repite,a,me,d,h,m,s){
	var form=document.getElementById('form');
	if (repite=='true'){

	var anyo=a;
	var mes=me-1;
	var dia=d;
	var hora=h;
	var minuto=m;
	var segundo=s;

	var La_fecha = new Date(); 
	var La_fecha_total = new Date(anyo,mes,dia,hora,minuto,segundo); 
	toSecond = (La_fecha_total - La_fecha)/1000
	toDay = parseInt(toSecond/86400);
	toSecond=toSecond-(toDay*86400);
	toHour = parseInt(toSecond/3600);
	toSecond=toSecond-(toHour*3600);
	toMinute=parseInt(toSecond/60);
	toSecond=parseInt(toSecond-(toMinute*60));
	}
		
	toSecond=toSecond-1;
		
		
	if(toSecond<0)
	{
		toSecond=59;
		toMinute=toMinute-1;
	}
	form.second.value=toSecond;

	if(toMinute<0)
	{
		toMinute=59;
		toHour=toHour-1;
	}
	form.minute.value=toMinute;

		
	if(toHour<0)
	{   toHour=23;
			toDay=toDay-1;
			
	}
	form.hour.value=toHour;
	form.day.value=toDay;
	if(toDay<0)
	{
		
		form.second.value=0;
		form.minute.value=0;
		form.hour.value=0;
		form.day.value=0;
			
	}
		
		

	else{
		setTimeout("countDown('false')",1000);
	}
}

</script>

Esta función necesita que le pasemos un booleano que estará a true en la llamada inicial, el año,mes,dia,hora,minuto y segundo de la fecha final de la que queremos calcular el tiempo restante que queda.

La función calculará automáticamente los días,horas,minutos y segundos que faltan desde la fecha actual hasta la fecha que le pasemos.

La forma de llamadar a esta función desde nuestra página HTML debería ser la siguiente:


<html>
<head>
</head>

<body onload="countDown('true','2010','4','12','13','31','14')" >

<form id="form" name="form" align="center">
		
<div>
			
<input type="text" size="1" class="form_input" name="day" readonly>
<span class="texto_contador">DIAS</span></input>
<span class="hora">
<input type="text" size="1" class="form_input" name="hour" readonly>
<span class="texto_contador">:</span></input>
<input type="text" size="1" class="form_input" name="minute" readonly>
<span class="texto_contador">:</span></input>
<input type="text" size="1" class="form_input" name="second" readonly>
				
</span>
</div>
		
</form>

</body>
</html>

Como podemos ver, el script irá actualizando los valores de los <input/> hasta que llegue a 0 en todos sus campos, momento en el cual se parará. Sólo nos faltaría darle un poco de estilo con css para darle una buen presentación y estaría listo.


body {
	background: #ecf2f6;
}

.form_input {
	font-family: Verdana;
	font-size:15px;
	color: #ffffff;
	border-width:0;
	background: #ffb520;
	text-align: center;
    font-weight:bold;
}

.hora {
	margin-left:0%;
}

.texto_contador{
	font-family: Verdana;
	font-size:15px;
}

De esta forma podeis tener vuestra cuenta atrás ,por ejemplo,para poner el tiempo restante para un evento o el tiempo que queda para que termine una subasta.

Espero que os haya gustado.

COMENTARIOS

07-06-2011 22:34:23
Mira justo esta andaba buscando para ponerle a mi web que necesitaba una cuenta atras para unos productos de una tienda online. Muchas gracias

DEJA TU COMENTARIO