Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/09/2010, 09:25
Avatar de Lophophora
Lophophora
 
Fecha de Ingreso: mayo-2005
Mensajes: 366
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Cuenta regresiva en javascript

Muchas gracias por responder.

El codigo del lado del servidor es el siguiente donde mediante PHP obtiene la hora del servidor.
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=utf-8" />
<title>Cuenta Regresiva</title>
<script type="text/javascript" >
function countdown_clock()
         {
     year=2011;
     month=01;
     day=29;
     hour=22;
     minute=00;
         Today = new Date();
         Todays_Year = Today.getYear() - 2000;
         Todays_Month = Today.getMonth() + 1;
         
         <?
         $date 
getDate();         
         
$second $date["seconds"];
         
$minute $date["minutes"];
         
$hour $date["hours"];
         
$day $date["mday"];
         
$month $date["mon"];
         
$month_name $date["month"];
         
$year $date["year"];
         
?>
         
         //Computes the time difference between the client computer and the server.
         Server_Date = (new Date(<?= $year 2000 ?><?= $month ?><?= $day ?>,
                                 <?= $hour ?><?= $minute ?><?= $second ?>)).getTime();
         Todays_Date = (new Date(Todays_Year, Todays_Month, Today.getDate(),
                                 Today.getHours(), Today.getMinutes(), Today.getSeconds())).getTime();
         
         countdown(year, month, day, hour, minute, (Todays_Date - Server_Date));                
         }
         
function countdown(year, month, day, hour, minute, time_difference)
         {
         Today = new Date();
         Todays_Year = Today.getYear();
         Todays_Month = Today.getMonth() + 1;
         format=1;
                                             
         //Convert today's date and the target date into miliseconds.
         
         Todays_Date = (new Date(Todays_Year, Todays_Month, Today.getDate(),
                                 Today.getHours(), Today.getMinutes(), Today.getSeconds())).getTime();
         Target_Date = (new Date(year, month, day, hour, minute, 00)).getTime();
         
         //Find their difference, and convert that into seconds.
         //Taking into account the time differential between the client computer and the server.
         Time_Left = Math.round((Target_Date - Todays_Date + time_difference) / 1000);
         
         if(Time_Left < 0){
            Time_Left = 0;
         }
         
         switch(format)
               {
               case 0:
                    //The simplest way to display the time left.
                    document.all.countdown.innerHTML = Time_Left + ' segundos';
                    break;
               case 1:
                    //More datailed.
                    days = Math.floor(Time_Left / (60 * 60 * 24));
                    Time_Left %= (60 * 60 * 24);
                    hours = Math.floor(Time_Left / (60 * 60));
                    Time_Left %= (60 * 60);
                    minutes = Math.floor(Time_Left / 60);
                    Time_Left %= 60;
                    seconds = Time_Left;
                    
                    dps = 's'; hps = 's'; mps = 's'; sps = 's';
                    //ps is short for plural suffix.
                    if(days == 1) dps ='';
                    if(hours == 1) hps ='';
                    if(minutes == 1) mps ='';
                    if(seconds == 1) sps ='';
                    
                    document.getElementById('countdown').innerHTML = days + ' dia' + dps + ' ';
                    document.getElementById('countdown').innerHTML += hours + ' hora' + hps + ' ';
                    document.getElementById('countdown').innerHTML += minutes + ' minuto' + mps + ' y ';
                    document.getElementById('countdown').innerHTML += seconds + ' segundo' + sps;
                    break;
               default: 
                    document.all.countdown.innerHTML = Time_Left + ' segundos';
               }
               
         //Recursive call, keeps the clock ticking.
         setTimeout('countdown(' + year + ',' + month + ',' + day + ',' + hour + ',' + minute + ',' + 
                     time_difference + ');', 1000);
         }
</script>
<style type="text/css">
<!--
.style1 {font-size: 36px}
-->
</style>
</head>
<body onload="countdown_clock();">
<div align="center" class="style1">
<div id="countdown"></div>
</div>
</body>
</html>
El codigo que habia copiado es la version ya del lado del cliente, pero bueno, una disculpa por eso.

Hice el cambio que me comentas y sigue sin funcionar, alguna idea?


Lophophora
__________________
P.L.U.R.

Última edición por Lophophora; 03/09/2010 a las 09:30