Juan José Montes de Oca Arbós escribió: > Hola Hernan. Para "apagar" el setInterval, tenés que usar clearInterval, > como bien vos decís. > > Cuando creaste el algo = setInteval... le asignaste un puntero de esa > funcion a la variable algo, y como la variable "algo" nunca la > declaraste, es de ambito "global". Al ser global, podés acceder a ella > desde cualquier punto del código, y ese es el parametro que le tenes que > pasar a clearInterval. Modificando tu programa, si el x es menor a 1000, > entonces, usamos el clearInterval... te copio el código:
Excelente, Juan José! Funciona perfecto así. No me daba cuenta de que "algo" era global, pensaba (como programador de PHP que soy) que si la había declarado adentro de otra función, sería local, pero por lo visto, si no le pongo el "var" al declararla, queda global. Muchas gracias!!! Saludos, Hernán Beati --------------- www.saberweb.com.ar --------------------- > > <html> > <head> > <title>prueba</title> > <script type="text/javascript"> > function mover(){ > miObjeto = document.getElementById('cosa'); > x = parseInt(miObjeto.style.left ); > if (x>100){ > x = x - 10; > miObjeto.style.left = x + 'px'; > } else { > clearInterval (esto); > } > } > > function arrancar(){ > esto = setInterval("mover()",50); > } > </script> > </head> > > <body onLoad="arrancar()"> > <div id="cosa" style="position:absolute; width:100px; height:100px; > left:1000px"> > <h1>holaaaaaaa</h1> > <h1>aaaaaaaaaa</h1> > </div> > </body> > </html> > > Saludos!!!! > _______________________________________________ javaEScript mailing list javaEScript@scriptia.net http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net