Подтвердить что ты не робот

JQuery ждать, пока все анимации страницы не будут выполнены

Я знаю, как подождать, пока анимация будет выполнена с помощью

$('#element').animate(speed,function(){
//code here
});

и с несколькими элементами с

$('#element1, #element2').promise().done(function(){
//code here
});

но как я могу подождать, пока все элементов на странице будут анимированы? Я бы предпочел не просто вставлять каждый элемент, которого я жду там.

4b9b3361

Ответ 1

Чтобы выбрать все, что сейчас анимируется, просто $(":animated") http://api.jquery.com/animated-selector/

Объединяя это с тем, что у вас уже есть, это будет просто

$(":animated").promise().done(function() {
    //code here
});

Ответ 2

Ответ, данный Джереми Т, отлично работает - хотя на основе комментариев на сайте jquery, который он связал (http://api.jquery.com/animated-selector/), это было бы более быстрым решением для добавьте класс к каждому элементу на странице, который может быть анимирован, а затем выберите их, используя

    $('.animationclass').filter(':animated').promise().done(function() {
//Your function
});