Foros del Web » Programando para Internet » Javascript »

Problema con cleartimeout

Estas en el tema de Problema con cleartimeout en el foro de Javascript en Foros del Web. hola amigos Tengo un problema con clearTimeout() y es que no me funciona directamente. Lo llamo con un evento onclick y mi código es el ...
  #1 (permalink)  
Antiguo 20/10/2010, 09:00
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Exclamación Problema con cleartimeout

hola amigos

Tengo un problema con clearTimeout() y es que no me funciona directamente. Lo llamo con un evento onclick y mi código es el siguiente:

Código Javascript:
Ver original
  1. function animafondo() {
  2.  
  3.     for(izq=0,tiempo=50; izq>=-300; tiempo+=50,izq-=1) {
  4.    
  5.         timeout=setTimeout("document.getElementById('debajo').style.left='"+izq+"px'",tiempo);
  6.    
  7.     }
  8.  
  9. }
  10.  
  11. function para() {
  12.  
  13.     window.clearTimeout(timeout);
  14.  
  15. }

La función para() no hace nada.he estado mirando la w3 ( http://www.w3schools.com/jsref/met_win_cleartimeout.asp ) y el funcionamiento no me ha quedado muy claro, pero supuse que no daría problemas porque el sistema es parecido no?

Si alguien pudiera aclararme el tema se lo agradecería.

Mil gracias.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #2 (permalink)  
Antiguo 20/10/2010, 10:28
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 10 meses
Puntos: 57
Respuesta: Problema con cleartimeout

El problema es que estas "generando" 300 setTimeout.
Estas ejecutando un for desde 0 hasta -300 y en cada uno estas asignando el setTimeout a timeout.
En el ultimo ciclo del for, la variable timeout se queda con el ultimo setTimeout (cuando izq vale -300) y la funcion para() detiene unicamente ese ultimo.

Creo que te funcionaria mejor setInterval() y clearInterval() y haciendo la variable izq global
  #3 (permalink)  
Antiguo 20/10/2010, 10:33
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: Problema con cleartimeout

gracias!

Voy a investigar.
Antes de ver el setInterval se me ocurrió hacer un array de 300 índices, pero clearTimeout elimina arrays???
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:24.