出队与下一次的区别?

时间:2011-07-14 17:05:48

标签: jquery animation

在此代码中:

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

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

如果我将$(this).dequeue()替换为next(),它似乎也会做同样的事情。究竟有什么区别?

1 个答案:

答案 0 :(得分:1)

在1.4中添加了“next”到函数的传递,我认为这更像是一种使代码更容易理解的方法。我认为在你提到的情况下你应该使用next,因为它更具可读性。但是,您必须使用dequeue

fx队列是一种特殊情况,因为它会自动dequeue队列中的第一个元素,如果它是空的并且有些东西排队。通常情况并非如此。

考虑一下:

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

仅此一项将永远不会执行传递的函数。启动队列移动需要调用dequeue

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