Bienvenido, Invitado
Nombre de Usuario: Contraseña: Recordarme

TEMA: Cuenta atrás con segundos - Javascript

Cuenta atrás con segundos - Javascript 12 años 1 mes ago #9021

  • JoniJnm
  • Avatar de JoniJnm
  • Offline
  • Administrador
  • Mensajes: 4579
  • Gracias recibidas 544
  • Karma: 160
Hola, uniendo códigos que he visto por ahí y modificándolos he hecho un reloj cuenta atrás, aquí lo tienen:

(El primer script se puede poner tantas veces como eventos se quiera, en él se pone la fecha del evento)
<script type='text/javascript'>
	//Por JoniJnm - www.JoniJnm.es
	var ayo = 2008;
	var mes = 7; //1 = Enero
	var dia = 18;
	var hora = 0;
	var minuto = 00;
	var segundo = 0;
	var evento = "Mi evento";
 
	var id;
	if (!id) { id = 1; }
	else { id++; }
 
 
	document.write("<table border='0' width='100%'>");
	document.write("<span><b>· Nombre del evento:</b></span><br>");
	document.write("<span><font color='#FF0000'><b>"+evento+"</b></font></span><br>");
	document.write("<span><b>· D&iacute;a del evento:</b></span><br>");
	document.write("<span id='evento" + id + "'></span>");
	document.write("<span><b>· Tiempo Restante:</b></span><br>");
	document.write("<span id='contar" + id + "'></span>");
	document.write("</table>");
	document.write("<p><small><b><a href='http://www.jonijnm.es' style='text-decoration: none'>www.JoniJnm.es</a></b></small></p>");
 
	setInterval('contar('+ayo+','+mes+','+dia+','+hora+','+minuto+','+segundo+',' + id + ')',1000);
</script>
<script type='text/javascript'>
function contar(ayo,mes,dia,hora,minuto,segundo,id) {
	var dif = dia + ' del ' + mes + ' de ' + ayo + ', a las ' + hora + ':';
	if (minuto < 10) { dif+='0'; }
	dif+=minuto + '<br>';
	document.getElementById('evento' + id).innerHTML=dif
	var a = new Date();
	dif = new Date(ayo,mes - 1,dia,hora,minuto,segundo);
	dif = (dif.getTime() - a.getTime())/1000;
	if (dif < 0) { document.getElementById('contar' + id).innerHTML="<font color='#FF0000'>Lleg&oacute; el evento!!</font>"; }
	else {
		dia= Math.floor(dif/60/60/24);
		hora= Math.floor((dif - dia*60*60*24)/60/60);
		minuto= Math.floor((dif - dia*60*60*24 - hora*60*60)/60);
		segundo= Math.floor(dif - dia*60*60*24 - hora*60*60 - minuto*60);
		var txt = '';
		if (dia > 0) {
			txt=dia+' d&iacute;a';
			if (dia != 1) { txt+='s'; }
			txt+= '<br />';
		}
		if (hora > 0 || dia > 0) {
			txt+=hora+' hora';
			if (hora != 1) { txt+='s'; }
			txt+= '<br />';
		}
		if (minuto > 0 || hora > 0 || dia > 0) {
			txt+=minuto+' minuto';
			if (minuto != 1) { txt+='s'; }
			txt+= '<br />';
		}
		txt+=segundo+' segundo';
		if (segundo != 1) { txt+='s'; }
		document.getElementById('contar' + id).innerHTML=txt;
	}
}
</script>

Descargar como módulo para Joomla
Última Edición: 11 años 3 meses ago por JoniJnm.
El administrador ha desactivado la escritura pública.

Re: Cuenta atrás con segundos - Javascript 11 años 1 mes ago #12140

Hola Joni, quería comentarte que creo que hay un fallo de una hora con el cálculo del tiempo restante, no se si es por mi configuración o le pasa a todo el mundo. Muchas gracias.
El administrador ha desactivado la escritura pública.

Re: Cuenta atrás con segundos - Javascript 11 años 1 mes ago #12148

  • JoniJnm
  • Avatar de JoniJnm
  • Offline
  • Administrador
  • Mensajes: 4579
  • Gracias recibidas 544
  • Karma: 160
Lo he probado y parece que va bien. Puedes decirme que hora has puesto en el script, qué hora era cuando lo veías y qué tiempo restante ponía que faltaba?

Saludos!
El administrador ha desactivado la escritura pública.

Re: Cuenta atrás con segundos - Javascript 11 años 1 mes ago #12150

Hola de nuevo,
ahora mismo me va bien de nuevo, creo que fue ayer a las 22 horas y algun minuto y el evento es el viernes 3 a las 23 horas, y el contador decía que faltaban 2 dias y 23 horas y X minutos (en vez de 3 dias 0 horas y X minutos). Intentare fijarme hoy a ver si también falla o porqué paso eso ayer.
Puede tener algo que ver con la configuración horaria?

Un saludo crack.
El administrador ha desactivado la escritura pública.

Re: Cuenta atrás con segundos - Javascript 11 años 1 mes ago #12152

  • JoniJnm
  • Avatar de JoniJnm
  • Offline
  • Administrador
  • Mensajes: 4579
  • Gracias recibidas 544
  • Karma: 160
Fíjate entonces y haces un screen. No creo que tenga que ver la configuración horaria, la referencia de hora se toma directamente de Windows
El administrador ha desactivado la escritura pública.
Tiempo de carga de la página: 0.425 segundos