Foros del Web » Programando para Internet » Javascript »

Mover div dinamicamente

Estas en el tema de Mover div dinamicamente en el foro de Javascript en Foros del Web. ¡Hola! Hace poco que estoy creando movimiento con funciones recursivas. Pero ahora me ha dado un error muy raro. "Too much recursive"(En la consola de ...
  #1 (permalink)  
Antiguo 22/01/2012, 09:27
Avatar de GameAndWatch  
Fecha de Ingreso: septiembre-2011
Mensajes: 56
Antigüedad: 12 años, 7 meses
Puntos: 1
Mover div dinamicamente

¡Hola!
Hace poco que estoy creando movimiento con funciones recursivas. Pero ahora me ha dado un error muy raro. "Too much recursive"(En la consola de errores de Firefox)
¿Cual puede ser el problema?
El cosigo es este:

Código Javascript:
Ver original
  1. var empiezo_bajar = true;
  2.     var tempsubir;
  3.    
  4.     function mover(){
  5.        
  6.         if (empiezo_bajar == true){
  7.            
  8.             if (tope < 80){
  9.                 document.getElementById("botante").style.top = tope + "%";
  10.                 tope = tope +1;
  11.                
  12.                 }
  13.                 else{
  14.                    
  15.                     empiezo_bajar = false;
  16.                    
  17.                 }
  18.             }
  19.             else{
  20.                 if (tope > 1){
  21.                 document.getElementById("botante").style.top = tope + "%";
  22.                 tope = tope - 1;
  23.                
  24.                 }
  25.                 else{
  26.                    
  27.                     empiezo_bajar = true;                  
  28.                 }
  29.             }
  30.             clearTimeout(tempsubir);
  31.             tempsubir=setTimeout(mover(),10000);
  32.         }

en el body tengo esto:

Código HTML:
Ver original
  1. <div id="botante" style="width:15%; height:20%; background-color: red; position:absolute; left:20%; top:1%;">Arriba y abajo </div>

y justo debajo del body, la llamada al codigo:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. var tope= parseInt(document.getElementById("botante").style.top);
  3. parseInt(tope);
  4. tempsubir=setTimeout(mover(),1000);
  5. </script>
¿cual es el problema que tiene?
Gracias de antemano por la respuesta.
__________________
Poco a poco,avanzando en Javascript....
  #2 (permalink)  
Antiguo 22/01/2012, 10:56
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Mover div dinamicamente

La pila de ejecución de procesos tiene limites, que la recursividad puede alcanzar, lo que se conoce como el StackOverflow, es realmente necesaria una función recursiva?, no puedes utilizar un setInterval?
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 22/01/2012, 12:05
Avatar de GameAndWatch  
Fecha de Ingreso: septiembre-2011
Mensajes: 56
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Mover div dinamicamente

¡Gracias por responder!
¿como funciona setInterval?¿podrías ponerme un ejemplo?
¿Con setInterval puedes simular movimiento?

Edito:
¡Lo conseguí!¡Funcionó con un Setinterval!
¡Muchas gracias!
__________________
Poco a poco,avanzando en Javascript....

Última edición por GameAndWatch; 22/01/2012 a las 12:38 Razón: Resolver el problema

Etiquetas: movimiento, recusrivo
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 00:21.