2011-08-08 14 views
5

¿Cómo puedo retrasar la animación con jQuery?jQuery Animation Delay

Necesito obtener una navegación para ampliar el ancho, y luego expandir la altura, y luego invertir para la animación inversa.

Código:

$(function() { 
    $("#nav li").not("#logo, #nav li ul li").hover(function(){ 
     $(this).animate({width:"200px"},{queue:false,duration:1000}); 
    }, function(){ 
     $(this).animate({width:"30px"},{queue:false,duration:1000}); 
    }); 


    $("#nav li.parent").hover(function(){ 
     $(this).children("ul").animate({height:"40px"},{queue:false,duration:500}); 
    }, function(){ 
     $(this).children("ul").animate({height:"0px"},{queue:false,duration:500}); 
    }); 
}); 

Respuesta

9

utilizan los métodos jQuery .delay(N), donde N es el milisegundos para retrasar.

jsFiddle example

+1

Estoy asumiendo su jsFiddle será aclarar esto, pero ¿de dónde viene exactamente ese pedazo de código va? Soy muy nuevo en jQuery. Lo siento tanto por las preguntas de los novatos – JacobTheDev

+0

Eso va entre las animaciones, he agregado el jsFiddle, no dudes en echar un vistazo. –

+0

Ahh, ya veo, pero ¿qué tal si quiero que esté en dos estados diferentes de vuelo estacionario, como en mi ejemplo de código? – JacobTheDev

4

Aquí está la llamada que están en busca de http://api.jquery.com/delay/

.delay(n) // where n is the millis of delay 

uso es el siguiente

$.animate(action1).delay(n).animate(action2) 
// this code puts the delay bewtween two different animations