.queue()和jquery.queue()之间的区别

时间:2015-04-23 07:09:34

标签: javascript jquery html5 queue

可能是一个愚蠢的问题,但我对.queue().dequeue()$.queue()jquery.queue()的使用感到困惑。

它们是否相同,如果是这样,为什么jquery在2个单独的文档中提供它们?可以,有人解释他们的消息差异以及适当的例子吗?

https://api.jquery.com/queue/

http://api.jquery.com/jquery.queue/

2 个答案:

答案 0 :(得分:3)

.queue()用作jQuery元素的方法。

它只有一个参数" queueName"

$("div:first").queue("fx")

jquery.queue()是一个独立的函数,它接受DOM元素作为它的第一个参数,第二个接受队列名称。

jQuery.queue($("div:first")[0], "fx" );

两者的作用相同,只是方法不同。

答案 1 :(得分:1)

http://api.jquery.com/jquery.queue/

所述
  

注意:这是一个低级方法,您应该使用.queue()代替。

内部$(selector).queue()$(selector).dequeue()分别使用$.queue()$.dequeue()

这是$(selector).queue()$(selector).dequeue() jQuery 2.1.3的代码:

jQuery.fn.extend({
    queue: function( type, data ) {
        var setter = 2;

        if ( typeof type !== "string" ) {
            data = type;
            type = "fx";
            setter--;
        }

        if ( arguments.length < setter ) {
            return jQuery.queue( this[0], type );
        }

        return data === undefined ?
            this :
            this.each(function() {
                var queue = jQuery.queue( this, type, data ); // <-- HERE!

                // Ensure a hooks for this queue
                jQuery._queueHooks( this, type );

                if ( type === "fx" && queue[0] !== "inprogress" ) {
                    jQuery.dequeue( this, type ); // <-- HERE!
                }
            });
    },
    dequeue: function( type ) {
        return this.each(function() {
            jQuery.dequeue( this, type ); // <-- HERE!
        });
    },

....