.queue() 和 jquery.queue() 之间的区别
Difference between .queue() and jquery.queue()
可能是个愚蠢的问题,但我对 .queue()
与 .dequeue()
和 $.queue()
或 jquery.queue()
一起使用感到困惑。
它们是否相同,如果是,为什么 jquery 在 2 个单独的文档中提供它们?有人可以用适当的例子来解释他们的用法差异吗?
如 http://api.jquery.com/jquery.queue/
所述
Note: This is a low-level method, you should probably use .queue() instead.
内部 $(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!
});
},
....
.queue()
用作 jQuery 元素的方法。
只有一个参数"queueName"
$("div:first").queue("fx")
而 jquery.queue()
是一个独立函数,它将接受 DOM 元素作为第一个参数,第二个参数作为队列名称。
jQuery.queue($("div:first")[0], "fx" );
两者的作用相同,只是方法不同。
可能是个愚蠢的问题,但我对 .queue()
与 .dequeue()
和 $.queue()
或 jquery.queue()
一起使用感到困惑。
它们是否相同,如果是,为什么 jquery 在 2 个单独的文档中提供它们?有人可以用适当的例子来解释他们的用法差异吗?
如 http://api.jquery.com/jquery.queue/
所述Note: This is a low-level method, you should probably use .queue() instead.
内部 $(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!
});
},
....
.queue()
用作 jQuery 元素的方法。
只有一个参数"queueName"
$("div:first").queue("fx")
而 jquery.queue()
是一个独立函数,它将接受 DOM 元素作为第一个参数,第二个参数作为队列名称。
jQuery.queue($("div:first")[0], "fx" );
两者的作用相同,只是方法不同。