Ver Mensaje Individual
  #7 (permalink)  
Antiguo 04/06/2008, 15:43
Avatar de chalchis
chalchis
 
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 4 meses
Puntos: 21
De acuerdo Respuesta: contador regresivo con Prototype

hola amigos parece que he encontrado la solución

en el archivo de invocación
agregue dentro de las opciones del Ajax.PeriodicalUpdater
evalScripts:true

evalScripts ( true | false ) - Ejecutar los <script> recibidos en la petición. (vienen en el archivo prototype.js Version: '1.6.0.2',)

Código:
<!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>Ajax Countdown Clock</title>
</head>
<body>
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript">
 var foo = new Ajax.PeriodicalUpdater ( "countdown", "countdown.php", { method: "get", frequency: 1, evalScripts:true } );  
 function ver()
 {
  foo.stop();
 }
</script>
<div id="countdown"></div>
</body>
</html>
en el php
Código:
<?php
header("Expires: 0");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("cache-control: no-store, no-cache, must-revalidate");
header("Pragma: no-cache");

$target_date = mktime(16, 30, 40, 06, 04, 2008);
$today_date = time();
$secs_left = $target_date - $today_date;

$hrser = date("H:i:s");
if ($secs_left > 0) //not yet reach target date
{

//1 day is 86400 seconds (60 * 60 * 24)
$days_left = floor($secs_left / 86400);
//1 hour is 3600 seconds (60 * 60)
$hrs_left = floor(($secs_left - $days_left * 86400) / 3600);
//1 minute is 60 seconds (duh…)
$mins_left = floor(($secs_left - ($days_left * 86400) - ($hrs_left * 3600)) / 60);

$secs_left = $secs_left - ($days_left * 86400) - ($hrs_left * 3600) - ($mins_left * 60);

echo "fecha meta:16:30:40<br>hora actual:$hrser<br><strong>".$days_left."</strong> day : ".
"<strong>".$hrs_left."</strong> hr : ".
"<strong>".$mins_left."</strong> min : ".
"<strong>".$secs_left."</strong> sec";
}

else //target date reached!
{	
	echo "tiempo finalizado ".$hrser; //do something here…
	echo "<script type='text/javascript'>";
	echo 'ver();';	
	echo "</script>";	
}

?>
tambien lo probe asi, imprimiendo desde php
la función

Código:
<?php

else //target date reached!
{	
	echo "tiempo finalizado ".$hrser; //do something here…
	echo "<script type='text/javascript'>";	
	echo 'foo.stop();';
	echo "</script>";	
}

?>
espero sus comentarios
amigos y muchas gracias por la ayuda (GatorV)

saludos
__________________
gerardo

Última edición por chalchis; 04/06/2008 a las 15:53