Одна очередь для элементов jQuery animate () - PullRequest
3 голосов
/ 11 мая 2011

По умолчанию очередь jQuery, созданная для animate (), создается для каждого элемента, мне интересно, есть ли способ создать единую очередь для всех анимаций, выполненных с помощью animate ()? То есть за один раз должна происходить только одна анимация

Ответы [ 3 ]

5 голосов
/ 11 мая 2011

Вы можете сделать это с вашей собственной пользовательской очередью на одном элементе, используя очередь:

http://jsfiddle.net/jRawX/2/

$(function(){

    $('#myQueue')
        .queue('myQueue',function(next){
            $('#t1').animate({left: 100}, 
                            {duration: 1000, 
                             queue: false,
                             complete: next
                            })
        })
        .queue('myQueue',function(next){
            $('#t2').animate({left: 100}, 
                            {duration:1000, 
                             queue:false,
                             complete: next})
        })
        /* etc. */
        .dequeue('myQueue')
})
1 голос
/ 11 мая 2011

.animate() имеет опцию queue, которая допускает только один эффект на элемент:

queue: логическое значение, указывающее, помещать ли анимацию в очередь эффектов. Если false, анимация начнется немедленно.

Использование

$('div').animate({ height: 50, queue: false });
1 голос
/ 11 мая 2011

Примерно так:

$(someElement) // could also be a plain object, e.g. $({})
    .queue('customQueue', function (next) {
        first.animate({ ... }, function () {
            // when the animation is complete, call next() for customQueue
            next();
        });
    })
    .queue('customQueue', function (next) {
        second.animate({ ... }, function () {
            // when the animation is complete, call next() for customQueue
            next();
        });
    })
    // add more animations, then
    .dequeue('customQueue');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...