Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/12/2007, 08:44
B4l4
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: ayuda con script de cuenta atras

Bueno he ido cambiando el codigo y modificandolo y al final me ha quedado esto:

Código HTML:
<script language="JavaScript" type="text/javascript">

// cojo la hora del servidor para saber la hora actualizada

h = H.getHours()
m = H.getMinutes()
s = H.getSeconds()
d = H.getDate()
mm = H.getMonth()
y = H.getFullYear()

// cojo la hora del servidor para sumarle la espera.
h_estatica = H.getHours()
m_estatica = H.getMinutes()
s_estatica = H.getSeconds()
d_estatica = H.getDate()
mm_estatica = H.getMonth()
y_estatica = H.getFullYear()

function laHora(){
	
	// hora del servidor
	H2 = new Date(y,d,mm,h,m,s+1)
	h = H2.getHours() ; h2 = h
	m = H2.getMinutes()  ; m2 = m
	s = H2.getSeconds()  ; s2 = s
	
	// espera he puesto estos valores para comprobar que vaya bien
	
	var horas_espera = 0
	var minutos_espera = 1
	var segundos_espera= 10	
	
	
       // Aqui tengo la hora del servidor en el momento en que hago la cuenta atras y le sumo la espera
      
       H_estatica = new Date (y_estatica,d_estatica,mm_estatica,h_estatica,m_estatica,s_estatica)
	
	horasF = H_estatica.getHours() + horas_espera
	minutosF = H_estatica.getMinutes() + minutos_espera
	segundosF = H_estatica.getSeconds() + segundos_espera
	
	// aqui recojo el tiempo de espera que se va recortando de la operacion hora servidor + espera - hora servidor_actualizada
	
	esperaH = horasF - H2.getHours(); esperaH2 = esperaH
	esperaM = minutosF - H2.getMinutes(); esperaM2 = esperaM
	esperaS = segundosF - H2.getSeconds(); esperaS2 = esperaS
	
	
	// esto es para controlar la salida
        if(esperaH<10){esperaH2= "0" + esperaH}
	if(esperaM<10){esperaM2 = "0" + esperaM}
	if(esperaS<10){esperaS2 = "0" + esperaS}
		
		document.getElementById('reloj').firstChild.nodeValue = "Cuenta Atras: " + esperaH2 + ":" + esperaM2+ ":" + esperaS2
	}
	onload = function(){laHora();setInterval('laHora()',1000)
}
</script> 

Bueno ahora vienen algunos problemas.

El primero es que cuando se printa la cuenta atras al llegar a 1 minuto 02 segundos pasa a 62 segundos, y luego cuando llega a 30 segundos, se vuelve loco y pone -1 minuto 60 sgundos... no entiendo el porque la verdad. Otro problema es como puede hacer que se pare en 00:00:00. Creo que es con la sentencia exit, pero aun no domino mucho el JS.

Por favor si veis algun error o sabeis que puedo estar haciendo mal echarme una manilla, gracias como siempre por vuestro tiempo, y saludos!!