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

Responder a