Foros del Web » Programando para Internet » Javascript »

Movimiento controlado

Estas en el tema de Movimiento controlado en el foro de Javascript en Foros del Web. Hola, foreros: ¿Como puedo hacer que un div de 500px cambie de tamaño a 0px poco a poco, es decir, por ejemplo en un intervalo ...
  #1 (permalink)  
Antiguo 13/09/2008, 12:41
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Movimiento controlado

Hola, foreros:

¿Como puedo hacer que un div de 500px cambie de tamaño a 0px poco a poco, es decir, por ejemplo en un intervalo de 10segundos?

He mirado algunos scripts por Google pero todos son super complejos. No estoy seguro, pero creo que se hace con:

Código PHP:
window.setTimeout("miminizar();",10
Me ayudais?
  #2 (permalink)  
Antiguo 13/09/2008, 12:57
Avatar de jseros  
Fecha de Ingreso: agosto-2008
Ubicación: Bogotá
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 18
Respuesta: Movimiento controlado

Hola salbatore, te dejo un código que derkenuke posteó alguna vez. Esta explicado muy claramente y además de dejo la dirección del post donde lo publicó. Es el trabajan con left y top, pero funciona igual con width y height. es solo cambiar las propiedades.

Leelo detenidamente y encontraras la respuesta.

http://www.forosdelweb.com/f13/movim...agonal-587210/

Saludos
  #3 (permalink)  
Antiguo 14/09/2008, 12:03
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Respuesta: Movimiento controlado

Hola, jseros:

Muchas gracias por el link!, me ha servido perfectamente... jeje... ahora mi pregunta es... jeje:

¿Como puedo hacer para que ralentize poco a poco, es decir, ahora he conseguido que el div pase de 500px a 100px, pero lo hace con una velocidad constante, lo que quiero ahora es que disminulla su velocidad cuando mas pequeña sea su anchura...

¿Sabes como se hace?
  #4 (permalink)  
Antiguo 14/09/2008, 12:16
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Movimiento controlado

Hola salbatore

En la línea:

setTimeout("move...,10);

ve cambiando el valor que te he puesto en rojo. Eso es lo que indica el tiempo, en milisegundo, que tarda en ejecutarse la función.

Saludos,
  #5 (permalink)  
Antiguo 14/09/2008, 12:36
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 1 mes
Puntos: 19
Respuesta: Movimiento controlado

Hola de nuevo...

Ya he adecuado la funcion para mi gusto, el problema que tengo es el siguiente:

La funcion se activa siempre que cambie la anchura del navegador, ese es el problema que quiero que mientras esta ejecutada la funcion mostrarcito no pueda ser vuelta a llamar.


Código PHP:
function mostrarcito(elIdx1golpesTotalesgolpeActual
    { 
            var 
obj document.getElementById(elId); 
            if( !
golpeActual 
            
golpeActual 1
                
obj.style.width Math.round(((x1)/golpesTotales)*golpeActual) +"px"
               
golpeActual++; 
            if( 
golpeActual <= golpesTotales 
                   
setTimeout("mostrarcito('"+elId+"', "+x1+", "+golpesTotales+", "+golpeActual+")",10); 
    }

window.onresize = function() { mostrarcito('mover'37300) }; 
¿Como puedo hacer que mientras este ejecutada la funcion mostrarcito este activa el evento window.onresize este desactivado?
  #6 (permalink)  
Antiguo 15/09/2008, 01:12
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Movimiento controlado

puedes poner una variable la cual estableces como true cuando empieces el efecto y se queda en true hasta que el efecto termine. Luego antes de la llamada al efecto chequeas que la función no esté en true. Si está en true no sigues adelante con el efecto.
__________________
twitter: @imbuzu
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 19:33.