这可能是个愚蠢的问题,但我对.queue()与.dequeue()和$.queue()或jquery.queue()之间的关系感到困惑。
它们是相同的吗,如果是的话,为什么jquery在两个单独的文档中提供它们?有人能用恰当的例子来解释他们的用法差异吗?
http://api.jquery.com/jquery.queue/
发布于 2015-04-23 07:24:25
.queue()用作jQuery元素的方法。
它只有一个参数"queueName“
$("div:first").queue("fx")而jquery.queue()是一个独立的函数,它将接受DOM元素作为它的第一个参数,作为队列名称的第二个参数。
jQuery.queue($("div:first")[0], "fx" );两者的工作原理是一样的,只是方法不同。
发布于 2015-04-23 07:22:17
正如在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!
});
},
....https://stackoverflow.com/questions/29816155
复制相似问题