Разница между очередью и очередью? - PullRequest
0 голосов
/ 14 июля 2011

В этом коде:

$('#bomb').animate({
    'top': '+=200px'
}, 3000)
    .queue(function() {
        $('#explosion').fadeIn();
        $(this).dequeue();
    });

$('#bomb').fadeOut('fast');

Если я заменю $(this).dequeue() на next(), то, похоже, делает то же самое. В чем именно разница?

1 Ответ

1 голос
/ 14 июля 2011

Передача "next" в функцию была добавлена ​​в 1.4, я думаю, больше как способ сделать код более понятным. Я думаю, что в случае, о котором вы упомянули, вы должны использовать next, потому что это более читабельно. Однако существуют ситуации, когда вам нужно использовать dequeue.

fx-очередь является особым случаем, поскольку она автоматически dequeue будет первым элементом из очереди, если она пуста и что-то поставлено в очередь. Обычно это не так.

Учтите это:

$("#something").queue("myqueue", function(){/*dostuff*/});

Одно это никогда не выполнит переданную функцию. Для начала перемещения очереди требуется вызов dequeue:

$("#something").queue("myqueue", function(){/*dostuff*/}).dequeue("myqueue");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...