Задержка анимации в jQuery - PullRequest
5 голосов
/ 08 августа 2011

Как мне отложить анимацию с помощью jQuery?

Мне нужно получить навигацию, чтобы увеличить ширину, а затем увеличить высоту, а затем развернуть для обратной анимации.

Код:

$(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});
    });
});

Ответы [ 2 ]

9 голосов
/ 08 августа 2011

используйте методы jQuery .delay(N), где N - это миллисекунды задержки.

Пример jsFiddle

4 голосов
/ 08 августа 2011

Вот вызов, который вы ищете http://api.jquery.com/delay/

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

используется следующим образом

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