Foros del Web » Programando para Internet » Javascript »

Mover capa al cargar web

Estas en el tema de Mover capa al cargar web en el foro de Javascript en Foros del Web. Hola, tengo el siguiente código que encontré en este mismo foro, me gustaría saber como tengo que modificar-lo para que la capa se mueva solo ...
  #1 (permalink)  
Antiguo 18/09/2011, 09:50
 
Fecha de Ingreso: enero-2008
Mensajes: 59
Antigüedad: 16 años, 3 meses
Puntos: 0
Mover capa al cargar web

Hola,
tengo el siguiente código que encontré en este mismo foro, me gustaría saber como tengo que modificar-lo para que la capa se mueva solo al cargarse la web, sin necesidad de clicar en la capa!

Gracias por la ayuda!!

Código:

<html>
<head>
<script>
inicio=1;
fin=300;
objeto="";
function mover(){
if(inicio<fin){
document.getElementById(objeto).style.left=inicio;
inicio++;
setTimeout("mover()", 5);
}

}
</script>
</head>
<body>

<div onClick="objeto='capa';mover();" id="capa" style="position:relative;border:1px solid #000000;width:100px;height:100px;background-color:Yellow;">Capa que se va ha mover</div>



</body>
</html>
  #2 (permalink)  
Antiguo 18/09/2011, 11:24
 
Fecha de Ingreso: julio-2011
Mensajes: 220
Antigüedad: 12 años, 9 meses
Puntos: 72
Respuesta: Mover capa al cargar web

Solo se nececita poner la instrucción en el evento 'onLoad' de <body>, de esta manera:

Código Javascript:
Ver original
  1. <script>
  2. inicio=1;
  3. fin=300;
  4. objeto="";
  5. function mover(){
  6. if(inicio<fin){
  7. document.getElementById(objeto).style.left=inicio;
  8. inicio++;
  9. setTimeout("mover()", 5);
  10. }
  11.  
  12. }
  13. </script>
  14. </head>
  15.  
  16. <body onLoad="objeto='capa';mover();">
  17.  
  18. <div id="capa" style="position:relative;border:1px solid #000000;width:100px;height:100px;background-color:Yellow;">Capa que se va ha mover</div>
  #3 (permalink)  
Antiguo 19/09/2011, 13:07
 
Fecha de Ingreso: enero-2008
Mensajes: 59
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Mover capa al cargar web

Gracias es lo que necesitaba, es muy complicado variar la velocidad y poner un pequeño retardo antes que empiece a moverse???
  #4 (permalink)  
Antiguo 19/09/2011, 16:02
 
Fecha de Ingreso: julio-2011
Mensajes: 220
Antigüedad: 12 años, 9 meses
Puntos: 72
Respuesta: Mover capa al cargar web

Para controlar la velocidad se deben modificar el valor en que aumenta la variable 'inicio' y el segundo parámetro de la función 'setTimeout()'. Primero la variable 'inicio' determina que tanto avanzara el <div> cada vez que la función 'mover()' sea llamada en este caso se esta avanzando solo 1 pixel.

inicio++;

Se puede aumentar esto, con lo cual el <div> se moveria más rápido, por ejemplo:

inicio+= 5;

El segundo parámetro de la función 'setTimeout()' determina el lapso de tiempo que espera javascript para cumplir la instrucción que se pasa como primer parámetro a esta función, el lapso de tiempo se expresa en milisegundos; en este caso la instrucción es llamar a la función mover con un retardo de 5 milisegundos, si se aumenta el valor de este parámetro el retardo sera mayor, con lo cual el movimiento sera más lento. Por ejemplo:

setTimeout("mover()", 10);

Para retrazar el inicio del movimiento se puede utilizar tambien 'setTimeout()', primero seria necesario definir una función que asignara el valor a la variable 'objeto' y que llamara por primera vez a la función 'mover()'. Esto seria algo asi:

Código Javascript:
Ver original
  1. <script>
  2.     inicio=1;
  3.     fin=300;
  4.     objeto="";
  5.  
  6.     function iniciar() {
  7.     objeto='capa';
  8.     mover();
  9.     }
  10.     function mover(){
  11.     if(inicio<fin){
  12.     document.getElementById(objeto).style.left=inicio;
  13.     inicio++;
  14.     setTimeout("mover()", 5);
  15.     }
  16.      
  17.     }
  18.     </script>
  19.     </head>
  20.      
  21.     <body onLoad="setTimeout('iniciar()', 1000)">
  22.      
  23.     <div id="capa" style="position:relative;border:1px solid #000000;width:100px;height:100px;background-color:Yellow;">Capa que se va ha mover</div>

En este caso el retrazo es de 1segundo.

Etiquetas: html, capas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:20.