Foros del Web » Programando para Internet » Javascript »

reloj con tiempo restante

Estas en el tema de reloj con tiempo restante en el foro de Javascript en Foros del Web. Hola: Alguién sabe como puedo hacer un reloj con el tiempo restante en el cual caducara la página igual que el que tienen las bombas ...
  #1 (permalink)  
Antiguo 18/07/2002, 09:04
 
Fecha de Ingreso: enero-2002
Mensajes: 3
Antigüedad: 22 años, 4 meses
Puntos: 0
reloj con tiempo restante

Hola:

Alguién sabe como puedo hacer un reloj con el tiempo restante en el cual caducara la página igual que el que tienen las bombas (explotan), para que el usuario de la página sepa cuanto tiempo le queda para que finalice la session.

De antemano gracias

Pauly :P
  #2 (permalink)  
Antiguo 18/07/2002, 12:32
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Re: reloj con tiempo restante

con ASP?... no se puede.
Lo que se me está ocurriendo es que.. a ver..

Se supone que una variable de sesion dura 20 minutos al menos que se especifique otro valor. Entonces en el evento onload de la página te hacés un contador descendente desde 1200 segundos hasta 0 y lo mostrás en, por ejemplo, un <input type="text"> mediante javascript.

Cómo? no lo se ... algún experto en javascript te podrá dar una mano cuando pasemos a ese foro

saludos
  #3 (permalink)  
Antiguo 18/07/2002, 15:00
Usuario no validado
 
Fecha de Ingreso: julio-2001
Mensajes: 766
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: reloj con tiempo restante

intentalo asi


<script language="Javascript">
<!--

timeTotal=1200
function tiempo()
{
if(timeTotal>=0){document.time.rs.value=timeTot al--
setTimeout("tiempo();",1000)}
else document.time.rs.value="tu sesion a Concluido"
}
window.onload=tiempo
//-->
</script>

<form name="time">

<input name="rs" type="text" value="1200">

</form>




<center><hr size="1" width="100%" noshade><a href=javascript:MsgrApp.LaunchIMUI('gpa36@hotmail. com')>
<strong><font face="courier new" color="#666666" size="2">Contact Me?[/CODE]</strong>
<IMG SRC="http://woertman.org:8080/msn/gpa36" border="0"></A></ce
  #4 (permalink)  
Antiguo 21/04/2006, 05:36
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 19 años, 6 meses
Puntos: 1
yo tengo este codigo:


<div id="bx" class="z">00:00:00</div>

<p>
<script type="text/javascript">
v=new Date();
var bx=document.getElementById('bx');
function t()
{
n=new Date();

//segundos
s=3600-Math.round((n.getTime()-v.getTime())/1000.);m=0;h=0;
if(s<0)
{bx.innerHTML='---';document.location=document.location;}
else
{
if(s>59) {m=Math.floor(s/60); s=s-m*60}
if(m>59) {h=Math.floor(m/60);m=m-h*60}
if(s<10) {s="0"+s}
if(m<10) {m="0"+m}
bx.innerHTML=h+":"+m+":"+s+''
}
window.setTimeout("t();",999);}
window.onload=t;
</script>
</p>


y funciona.. pero cada vez que cargo la pagina vuelve a ponerse el contador al inicio.. hay alguna manera de que aunque se cargue la pagina el contador siga por donde estaba... es decir: empieza en 1 hora (00:59:59) y cuando va por media hora (00:29:59) y actualizo que siga en (00:29:58) en lugar de volver a (00:59:59) ????
  #5 (permalink)  
Antiguo 21/04/2006, 05:40
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 19 años, 6 meses
Puntos: 1
segun lo estaba poniendo estube pensando algo:

//segundos
s=3600-Math.round((n.getTime()-v.getTime())/1000.);m=0;h=0;

si ese 3600 lo dejo como una variable php (segundosleft), y se la paso a la pagina al actualizar... funcionaría? pero como lo haría cuando se cierra la pagina y se abre otra vez... ya habría perdido el valor... pero si antes lo guardo en un fichero.... . joder.. casi me lo estoy solucionando yo segun escribo.. pero bueno.. lo pongo aqui para que comenteis a ver si veis buena idea...

ahora solo me queda saber como puedo ejecutar un codigo justo al cerrar la pagina... hay algun comando para hacerlo en php?
  #6 (permalink)  
Antiguo 02/05/2006, 03:38
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 19 años, 6 meses
Puntos: 1
hola otra vez.. solucione algunos problemillas con lo de salir de la pagina, pero ahora el contador me salta un segundo, es decir.. va 59 - 57 - 55 etc... cual es el problema??.. dejo el codigo que tengo hasta el momento:

Cita:
<div id="bx" class="z">00:00:00</div>
<script type="text/javascript">

//---------------------------------
function diasdelmes(mes,anio)
{var dias=0;
if ((((anio/4)==0) && ((anio/100)!=0)) || ((anio/400)==0)) { fe = 29; }
else { fe = 28; }
switch(mes) {
case 01: dias=31; case 02: dias=fe; case 03: dias=31;
case 04: dias=30; case 05: dias=31; case 06: dias=30;
case 07: dias=31; case 08: dias=31; case 09: dias=30;
case 10: dias=31; case 11: dias=30; case 12: dias=31;}
return dias;
}
//------------------------

v=new Date();
var bx=document.getElementById('bx');
function t()
{
n=new Date();

aniofinal=2006;
mesfinal=5;
diafinal=2;
horafinal=13;
minutofinal=0;
segundofinal=0;
anioactual=n.getYear();
mesactual=n.getMonth();

var diasmes=0;
if (mesfinal>mesactual)
{
for (i=mesactual+1;i<mesfinal;i++)
diasmes=diasmes+diasdelmes(i,aniofinal);
}

segunactual=(n.getDay()*24+n.getHours())*3600+n.ge tMinutes()*60+n.getSeconds();
segunfinal=((diasmes+diafinal)*24+horafinal)*3600+ minutofinal*60+segundofinal;

var segundos=segunfinal-segunactual;

s=segundos-Math.round((n.getTime()-v.getTime())/1000.);m=0;h=0;
if(s<0)
{
document.location="http://www.google.com";}
else
{
if(s>59) {m=Math.floor(s/60); s=s-m*60}
if(m>59) {h=Math.floor(m/60);m=m-h*60}
if(s<10) {s="0"+s}
if(m<10) {m="0"+m}
if(h>24) {d=Math.floor(h/24);h=h-d*24} else d=0
if (d>0) bx.innerHTML="Quedan "+d+" días y "+h+":"+m+":"+s+''
else bx.innerHTML="Queda "+h+":"+m+":"+s+''

}
window.setTimeout("t();",999);}
window.onload=t;
</script>
  #7 (permalink)  
Antiguo 12/05/2006, 01:29
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 19 años, 6 meses
Puntos: 1
hola otra vez, he estado revisando el código y no se que puede fallar, pero me sigue descontando los segundos de dos en dos... alguien le ha hechado un vistazo y ve el fallo?
__________________
ALOZORRO v5.0 (ahora en .es)
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 17:00.