[javaEScript] Mover DIV con JavaScript recursivamente
"Hernán Beati - SaberWeb.com.ar"
hernan en saberweb.com.ar
Jue Jun 14 11:13:00 PDT 2007
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!!!!
>
Más información sobre la lista de distribución javaEScript