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
> [email protected]
> 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
[email protected]
http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net