Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] script que se ejecuta en desorden

Estas en el tema de script que se ejecuta en desorden en el foro de Jquery en Foros del Web. Hola amigos veran tengo un problema con este script :/ estoy usando el siguiente codigo : Código PHP: document . getElementById ( "test1" ). src ...
  #1 (permalink)  
Antiguo 17/05/2014, 19:40
 
Fecha de Ingreso: mayo-2010
Mensajes: 215
Antigüedad: 14 años, 6 meses
Puntos: 4
Pregunta script que se ejecuta en desorden


Hola amigos veran tengo un problema con este script :/

estoy usando el siguiente codigo :


Código PHP:
document.getElementById("test1").src='//localhost/images/2.gif';
            $( 
"#test1" ).animate({left400,}, tem );
            
document.getElementById("test1").src='//localhost/images/1.gif';
            $( 
"#test1" ).animate({left384,}, tem ); 
lo que hace es poder desplazar el div que desee a la posicion que le indique...

primero me explico realice imagen y estoy siguiendo este orden como quiero que cumpla

1) buscar al div "test1" y convertirlo en la imagen 2.gif
2) mandar a la posicion left 400
3) buscar el div "test1" y convertirlo ahora en la imagen 1.gif
4) mandar a la posicion left 300

el error es el siguiente que lo cumple asi en este orden que no indico ....

1) buscar al div "test1" y convertirlo en la imagen 2.gif ( no se si lo cambia )
3) buscar el div "test1" y convertirlo ahora en la imagen 1.gif (cambia al div)
2) mandar a la posicion left 400 ( va a este posicion con la imagen 1.gif cuando es 2.gif)
4) mandar a la posicion left 300 (regresa con la imagen 1.gif)


no se porque convierte primero y luego hace el traslado cuando es conversion => traslado => conversion => traslado ...

porfavor alguien ayudeme :/
  #2 (permalink)  
Antiguo 17/05/2014, 19:53
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: script que se ejecuta en desorden

Si revisas la documentación oficial del método animate, notarás que como cuarto parámetro, se le puede pasar un callback (llamada de retorno) la cual ejecutará la acción que queremos que suceda una vez que termine la animación actual. Entonces, solamente te quedaría hacerlo de esta forma:

Código Javascript:
Ver original
  1. var img1 = "//localhost/images/1.gif",
  2.     img2 = "//localhost/images/2.gif",
  3.     tem = 1500;
  4.  
  5. $("#test1")
  6.     .prop("src", img2)
  7.     .animate(
  8.         {left: 400},
  9.         tem,
  10.         "linear",
  11.         function(){
  12.             $(this)
  13.                 .prop("src", img1)
  14.                 .animate({left: 384}, tem);    
  15.         }
  16.     );



De este modo, el cambio de imagen y desplazamiento hacia la izquierda, se realizan una vez que la primera animación termine.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 17/05/2014, 20:16
 
Fecha de Ingreso: mayo-2010
Mensajes: 215
Antigüedad: 14 años, 6 meses
Puntos: 4
Respuesta: script que se ejecuta en desorden

Cita:
Iniciado por Alexis88 Ver Mensaje
Si revisas la documentación oficial del método animate, notarás que como cuarto parámetro, se le puede pasar un callback (llamada de retorno) la cual ejecutará la acción que queremos que suceda una vez que termine la animación actual. Entonces, solamente te quedaría hacerlo de esta forma:

Código Javascript:
Ver original
  1. var img1 = "//localhost/images/1.gif",
  2.     img2 = "//localhost/images/2.gif",
  3.     tem = 1500;
  4.  
  5. $("#test1")
  6.     .prop("src", img2)
  7.     .animate(
  8.         {left: 400},
  9.         tem,
  10.         "linear",
  11.         function(){
  12.             $(this)
  13.                 .prop("src", img1)
  14.                 .animate({left: 384}, tem);    
  15.         }
  16.     );



De este modo, el cambio de imagen y desplazamiento hacia la izquierda, se realizan una vez que la primera animación termine.

Saludos

muchas gracias por tomarte el tiempo de poder dejarme un ejemplo, la verdad me funciono, te lo agradezco :)

Etiquetas: ejecuta, javascript
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 18:18.