Cita:
Iniciado por AitorLopez He hecho la modificacion que me has comentado (ya que las demas, la verdad, no se como hacerlas) y funciona mejor, pero solo 5 o 6 segundos, despues se va bloqueando hasta que deja de funcionar IE8, lo tengo que cerrar, finalizar tarea, etc, etc.
Me has puesto en duda. Pruebas así
Código PHP:
Ver original<html>
<head>
<style type="text/css">
#calContador {width:450px;}
#calFondoEnunciado {background-color:#6B8E23;color:#FFFFFF;font-family:Arial;font-size:12px;border: 1px solid #C9C9C9;border-width: 1px 1px 0px 1px;text-align:center;}
#calCuerpo td{background-color:#6B8E23;color:#FFFFFF;font-family:Arial;font-size:11px;font-weight:bold;text-align:center;}
#calCuerpo td.cont{background-color:#FFFF00;color:#000000;width:50px;}
</style>
<?php
?>
<script type="text/javascript">
function crono(){
var dia =
<?php echo date("d", $fecha);?>, mes =
<?php echo date("n", $fecha)-1;?>, anio =
<?php echo date("Y", $fecha);?>, hora =
<?php echo date("H", $fecha);?>, minutos =
<?php echo date("i", $fecha)+1;?> var fechaFinal = new Date(anio,mes,dia,hora,minutos)
var serv_ahora = new Date();
serv_ahora.getFullYear(
<?php date("Y", $fecha);?>);
serv_ahora.getMonth(
<?php echo date("n", $fecha);?>); // Enero es el mes 0
serv_ahora.getDate(
<?php echo date("d", $fecha);?>);
serv_ahora.getHours(
<?php echo date("H", $fecha);?>);
serv_ahora.getMinutes(
<?php echo date("i", $fecha);?>);
diferencia = fechaFinal.getTime() - serv_ahora.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)
falta = "<div id='calContador'><div id='calFondoEnunciado'>Tiempo que Falta hasta el " + dia + "/" + parseInt(mes+1) + "/" + anio + " " + hora + ":" + minutos + "</div><div id='calCuerpo'><table style='table-layout:fixed;' bgcolor=' #C9C9C9' border='0px' cellspacing='1px' cellspadding='0px' width='450px'><tr>";
if(diasTotales < 10) {diasTotales = "0" + diasTotales;}
if(horasReales < 10) {horasReales = "0" + horasReales;}
if(minutosFinales < 10) {minutosFinales = "0" + minutosFinales;}
if(segundosFaltan2 < 10) {segundosFaltan2 = "0" + segundosFaltan2;}
diasTxt = "<td class='cont'>" + diasTotales + "</td><td>Días</td>";
horasTxt = "<td class='cont'>" + horasReales + "</td><td>Horas</td>";
minutosTxt = "<td class='cont'>" + minutosFinales + "</td><td>Minutos</td>";
segundosTxt = "<td class='cont'>" + segundosFaltan2 + "</td><td>Segundos</td></tr></table></div></div>";
if (Math.abs(diferencia) <= 900) {
contadorCompleto = falta + "<td class='cont'>Se ha cumplido el tiempo</td></tr></table></div></div>";
clearInterval(int);
}
else
{
contadorCompleto = falta + diasTxt + horasTxt + minutosTxt + segundosTxt
int = setInterval("crono(), 1000");
}
document.getElementById('contador_regresivo').innerHTML = contadorCompleto;
}
window.onload=function(){crono();};
</script>
</head>
<body>
<div id="contador_regresivo" style="text-align:center"></div>
</body>
</html>
Suerte