Foros del Web » Programando para Internet » Javascript »

Poner reloj y ir sacando tiempo de espera

Estas en el tema de Poner reloj y ir sacando tiempo de espera en el foro de Javascript en Foros del Web. Hola, sabeis alguna forma de implementar una especie de reloj que te diga el tiempo de espera que falta para que se cumpla algo? Como ...
  #1 (permalink)  
Antiguo 01/11/2007, 20:05
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Poner reloj y ir sacando tiempo de espera

Hola, sabeis alguna forma de implementar una especie de reloj que te diga el tiempo de espera que falta para que se cumpla algo?
Como en las paginas que te dice que esperes x segundos para hacer algo y va decreciendo hasta llegar a 0.
Como se implementa eso? He estado buscando y no he encontrado nada de info al respecto.

Gracias a todos!!
  #2 (permalink)  
Antiguo 01/11/2007, 20:33
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Poner reloj y ir sacando tiempo de espera

Alguna idea?
  #3 (permalink)  
Antiguo 01/11/2007, 21:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Poner reloj y ir sacando tiempo de espera

Esto se implementa con Javascript, asi que te muevo al foro adecuado.

Saludos.
  #4 (permalink)  
Antiguo 01/11/2007, 22:47
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Poner reloj y ir sacando tiempo de espera

Aps okey gracias moderador no lo sabia.

Alguna idea de como hacerlo?
  #5 (permalink)  
Antiguo 01/11/2007, 23:46
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Poner reloj y ir sacando tiempo de espera

Hola buenas buscando buscando por la web me encontre este codigo que creo que esta bastante bien, para una cuenta atras.

Código PHP:
<html>
<
head>
<
script language="JavaScript">
function 
contador(){
var 
dia 2mes 5anio 2003 //aquí es donde has de establecer la fecha final. Recuerda que enero es el mes 0, así el 5 es junio.
var fechaFinal = new Date(anio,mes,dia)
var 
fecha = new Date()
var 
diaActual fecha.getDate()
var 
mesActual fecha.getMonth()
var 
anioActual fecha.getYear()
var 
hoy = new Date()
diferencia fechaFinal.getTime() - hoy.getTime()
dias =diferencia/1000/60/60/24
diasTotales 
parseInt(dias)
horasTotales diferencia/1000/60/60 
horasReales 
parseInt(horasTotales) - (parseInt(diasTotales)*24
minutosFaltan horasTotales parseInt(horasTotales)
minutosFaltan2 minutosFaltan*1000*60*60
minutosFaltan2 
minutosFaltan2/1000/60
minutosFinales 
parseInt(minutosFaltan2)
segundosFaltan minutosFaltan2 parseInt(minutosFaltan2)
segundosFaltan2 segundosFaltan*1000*60
segundosFaltan2 
parseInt(segundosFaltan2/1000)

if(
diasTotales == 1) {diasTxt " día"falta "Falta "}
else {
diasTxt " días"falta "Faltan "}
if(
horasReales == 1) {horasTxt " hora"}
else {
horasTxt " horas"}
if(
minutosFinales == 1) {minutosTxt " minuto"}
else {
minutosTxt " minutos"}
if(
segundosFaltan2 == 1) {segundosTxt " segundo"}
else {
segundosTxt " segundos"}
texto falta diasTotales diasTxt ", " horasReales horasTxt ", " minutosFinales minutosTxt " y " segundosFaltan2 segundosTxt

document
.getElementById('celda').innerHTML texto
setTimeout
('contador(),1000')
}
</script>
</head>

<body onLoad="contador()">
<table border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td id="celda">&nbsp;</td>
  </tr>
</table>

</body>
</html> 

Lo malo es que no se como pasarle el tiempo con el que ha de hacer la cuenta atras, me explico:

var dia = 2, mes = 5, anio = 2003 //aquí es donde has de establecer la fecha final. Recuerda que enero es el mes 0, así el 5 es junio.
var fechaFinal = new Date(anio,mes,dia)
var fecha = new Date()


Ahi se supone que yo he de decir la fecha final, pero claro yo trabajo con php+mysql y la fecha final ha de ser la fecha actual + el resultado de la consulta de tiempo de espera en la tabla usuarios, ademas cada usuario tendra una cuenta atras distinta en cuanto a tiempo se refiere, como se lo puedo pasar esto al javascript?

Perdonarme pero es que estoy pez de javascript, con php me defiendo un pelin mas xD.

Gracias por vuestro tiempo y respuestas !!
  #6 (permalink)  
Antiguo 02/11/2007, 07:56
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Poner reloj y ir sacando tiempo de espera

Alguien me puede orientar, por favor?

Gracias
  #7 (permalink)  
Antiguo 02/11/2007, 20:29
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Poner reloj y ir sacando tiempo de espera

Buenas siento ser pesado... pero es que he probado varias cosas y no doy con la solucion... es bastante urgente si alguien pudiera echarme una mano se lo agradeceria.

Gracias
  #8 (permalink)  
Antiguo 17/07/2008, 04:46
Avatar de JoniJnm  
Fecha de Ingreso: mayo-2007
Ubicación: Madrid
Mensajes: 264
Antigüedad: 17 años
Puntos: 4
Respuesta: Poner reloj y ir sacando tiempo de espera

Código PHP:
<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> 
Abajo a la derecha puedes ver un ejemplo, funcionando. Puedes poner el 1º script como tantos eventos quieras

Última edición por JoniJnm; 17/07/2008 a las 05:19
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:47.