Как отложить анимацию JQuery? - PullRequest
17 голосов
/ 27 августа 2010

Я не могу задержать показ div. Я хочу отложить анимацию примерно на 20 секунд, возможно ли это?

$("#microcharcounter").delay(10000).show();

Ответы [ 2 ]

37 голосов
/ 27 августа 2010

Попробуйте это:

$("#microcharcounter").delay(10000).show(0);

или это:

$("#microcharcounter").delay(10000).queue(function(n) {
    $(this).show();
    n();
});

Причина этого в том, что .delay() будет задерживать только элементы в очереди анимации. Таким образом, вы можете сделать .show() короткую анимацию, добавив длительность '0', или добавить ее в очередь с .queue().

13 голосов
/ 27 августа 2010

Вы можете сделать это следующим образом:

setTimeout(function() {
  $("#microcharcounter").show();
}, 20000);

Проблема с .delay() и .show() (без продолжительности) в том, что .show() - это не анимация, это немедленный эффект, которого вообще нет в очереди fx.Тем не менее, вы можете указать продолжительность, например:

$("#microcharcounter").delay(20000).show("fast");
...