可能是一个愚蠢的问题,但我对.queue()
与.dequeue()
和$.queue()
或jquery.queue()
的使用感到困惑。
它们是否相同,如果是这样,为什么jquery在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!
});
},
....