Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/04/2012, 22:11
eguar1978
 
Fecha de Ingreso: febrero-2011
Mensajes: 12
Antigüedad: 13 años, 2 meses
Puntos: 0
Consulta con error en conteo regresivo

Buenas noches gente.

Tengo un script acá que la función que quiero que cumpla es la siguiente.

Seteo día, mes, año y hora en una variable y mediante un while chequeo la fecha seteada y si es menor a la hora del visitante le sumo 33.

El resultado final del while es una fecha futura no superior a las 33 horas, con esa fecha y la fecha actual creo una cuenta regresiva la cual funciona bien hasta llega a 0.
Esta cuando llega a 0 lo que yo quiero que haga es que se reinicie a 33 horas nuevamente, pero no entiendo porque se reinicia a 48 horas.

Les dejo el codigo para que vean en donde meti mal el dedo.

Código HTML:
tzo = - new Date().getTimezoneOffset()/60
var ahora=new Date()
var mi_fecha=new Date("July 26, 2011 13:33:00") 
var horas=33

while(mi_fecha<ahora)
{
mi_fecha.setHours(mi_fecha.getHours()+ horas); //sumo 33 horas
}

mi_fecha2 = mi_fecha.setHours(mi_fecha.getHours()+tzo);

function getTime() {
now = new Date();
days = (mi_fecha2 - now) / 1000 / 60 / 60 / 24;
daysRound = Math.floor(days);
hours = (mi_fecha2 - now) / 1000 / 60 / 60 - (24 * daysRound);
hoursRound = Math.floor(hours);
minutes = (mi_fecha2 - now) / 1000 /60 - (24 * 60 * daysRound) - (60 * hoursRound);
minutesRound = Math.floor(minutes);
seconds = (mi_fecha2 - now) / 1000 - (24 * 60 * 60 * daysRound) - (60 * 60 * hoursRound) - (60 * minutesRound);
secondsRound = Math.round(seconds);
sec = (secondsRound == 1) ? "<td width='25%'> Segundo </td></tr>" : "<td width='25%'> Segundos </td></tr>";
min = (minutesRound == 1) ? "<td width='25%'> Minuto </td>" : "<td width='25%'> Minutos </td>";
hr = (hoursRound == 1) ? "<td width='25%'> Hora </td>" : "<td width='25%'> Horas </td>";
dy = (daysRound == 1) ? "<tr><td width='25%'> Día </td>" : "<tr><td width='25%'> D&iacute;as </td>";
document.getElementById("respaw").innerHTML = "<table width='80%' border='1' align='center'><tr><td colspan='4'>Sale el </td></tr>" + dy + hr + min + sec + "<tr><td width='25%'>" + daysRound + "<td width='25%'>" + hoursRound + "<td width='25%'>" + minutesRound + "<td width='25%'>" + secondsRound + " </td></tr></table>";
newtime = window.setTimeout("getTime();", 1000);
}