Ver Mensaje Individual
  #6 (permalink)  
Antiguo 05/11/2007, 10:58
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 6 meses
Puntos: 834
Re: pasar valores de php a javascript en cuenta atras

Bueno, no sé porqué no te funciona la url. Igualmente, te paso el código que importa de esa url. La función recibe como parámetro el tiempo final alcanzar, es decir el tiempo límite, sincroniza javascript con la hora del servidor e inicia una cuenta hacia atrás hasta llegar a la hora límite.
Luego será cuestión de que la adaptes a tus necesidades.
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>test</title>
<script>
var inicio=false;
var ajustehora=0;
var ajusteminuto=0;
var ajustesegundo=0;
var ajustedia=0;
var ajustemes=0;
var ajusteano=0;
function relojear(dia,mes,ano,hora,minuto,segundo){
plazo=new Date();
plazo.setDate(dia);
plazo.setMonth(mes-1);
plazo.setFullYear(ano);
plazo.setHours(hora);
plazo.setMinutes(minuto);
plazo.setSeconds(segundo);
if(!inicio){
serv_ahora=new Date();
serv_ahora.setDate(<?php echo intval(date('j')) ?>);
serv_ahora.setMonth(<?php echo intval(date('n')-1?>);
serv_ahora.setFullYear(<?php echo intval(date('Y')) ?>);
serv_ahora.setHours(<?php echo intval(date('H')) ?>);
serv_ahora.setMinutes(<?php echo intval(date('i')) ?>);
serv_ahora.setSeconds(<?php echo intval(date('s')) ?>);
ahora=new Date();
ajustedia=serv_ahora.getDate()-ahora.getDate();
ajustemes=serv_ahora.getMonth()-ahora.getMonth();
ajusteano=serv_ahora.getFullYear()-ahora.getFullYear();
ajustehora=serv_ahora.getHours()-ahora.getHours();
ajusteminuto=serv_ahora.getMinutes()-ahora.getMinutes();
ajustesegundo=serv_ahora.getSeconds()-ahora.getSeconds();
}
horasinajuste=new Date();
ahora=new Date();
ahora.setDate(horasinajuste.getDate()+ajustedia);
ahora.setMonth(horasinajuste.getMonth()+ajustemes);
ahora.setFullYear(horasinajuste.getFullYear()+ajusteano);
ahora.setHours(horasinajuste.getHours()+ajustehora);
ahora.setMinutes(horasinajuste.getMinutes()+ajusteminuto);
ahora.setSeconds(horasinajuste.getSeconds()+ajustesegundo);
inicio=true;
quedan=((plazo/1000)-(ahora/1000))+' segundos';
    if(ahora>=plazo)
        document.getElementById('status').innerHTML='plazo cumplido';
    else
        document.getElementById('status').innerHTML='restan '+quedan;
}
</script>
</head>

<body onload="setInterval('relojear(<?php echo intval(date('j')) ?>,<?php echo intval(date('n')) ?>,<?php echo intval(date('Y')) ?>,<?php echo intval(date('H')) ?>,<?php echo intval(date('i'))+1 ?>,<?php echo intval(date('s')) ?>)',1000)">
<div id="status"> </div>
</body>
</html>