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:

<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!!!!

El día 14/06/07, "Hernán Beati - SaberWeb.com.ar" <[EMAIL PROTECTED]>
escribió:
>
> Juan José Montes de Oca Arbós escribió:
> > 1) si los declaraste en una
> > sección STYLE o en un archivo CSS, al levantarlo con JS mediante
> > objeto.style solo te devuelve los atributos cargados en el HTML.
>
> Muchísimas gracias, Juan José!! :-)
>
> No termina de sorprenderme que solo se pueda leer con JS valores de
> propiedades CSS que hayan sido escritas adentro del tag, lo cual lo
> vuelve a todas luces inaccesible (en el sentido de JavaScript no
> intrusivo, separación en capas de contenido, presentación e interacción,
> etc.). ¿No hay forma de mover un DIV de forma no intrusiva?
>
> Finalmente pude moverlo (intrusivamente, hasta ahora!) con un
> setInterval, pero la llamada a la función se repite permanentemente
> mientras dure en pantalla el documento, ¿cómo se podría "apagar" esto?
> Si quiero llamar a clearInterval, como fue "encendido" desde otra
> función llamada arrancar(), no es global y no lo puedo acceder desde la
> función mover()
> Pongo el código abajo.
> Gracias!!
>
> Hernán.-
>
> <html>
> <head>
> <title>prueba</title>
> <script type="text/javascript">
> function mover(){
> miObjeto = document.getElementById('cosa');
> x = parseInt(miObjeto.style.left);
>         if (x>1000){
>             x = x - 10;
>          miObjeto.style.left = x + 'px';
>         }
> }
>
> function arrancar(){
> esto = setInterval("mover()",50);
> }
> </script>
> </head>
>
> <body onLoad="arrancar()">
> <div id="cosa" style="position:absolute; width:100px; height:100px;
> left:1200px">
>    <h1>holaaaaaaa</h1>
>    <h1>aaaaaaaaaa</h1>
> </div>
> </body>
> </html>
> _______________________________________________
> javaEScript mailing list
> javaEScript@scriptia.net
> http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net
>



-- 
Juan José Montes de Oca Arbós.

[EMAIL PROTECTED]
[EMAIL PROTECTED]
http://world5.monstersgame.es/?ac=vid&vid=58044309
http://www.montesoft.com.ar
http://www.es-facil.com/ganar/alta?Id=64395956
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: 
http://lists.scriptia.net/pipermail/javaescript-scriptia.net/attachments/20070614/412ffd03/attachment.html
 
_______________________________________________
javaEScript mailing list
javaEScript@scriptia.net
http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net

Responder a