},\r
queue: function( elem, type, data ) {\r
if ( elem ){\r
- \r
+\r
type = (type || "fx") + "queue";\r
- \r
+\r
var q = jQuery.data( elem, type );\r
- \r
+\r
if ( !q || jQuery.isArray(data) )\r
q = jQuery.data( elem, type, jQuery.makeArray(data) );\r
else if( data )\r
q.push( data );\r
- \r
+\r
}\r
return q;\r
},\r
dequeue: function( elem, type ){\r
var queue = jQuery.queue( elem, type ),\r
fn = queue.shift();\r
- \r
+\r
if( !type || type === "fx" )\r
fn = queue[0];\r
- \r
+\r
if( fn !== undefined )\r
- fn.call(elem);\r
+ fn.call(elem, function() { jQuery(elem).dequeue(type); });\r
}\r
});\r
\r
if ( data === undefined )\r
return jQuery.queue( this[0], type );\r
\r
- return this.each(function(){\r
+ return this.each(function(i, elem){\r
var queue = jQuery.queue( this, type, data );\r
- \r
- if( type == "fx" && queue.length == 1 )\r
- queue[0].call(this);\r
+\r
+ if( type == "fx" && queue.length == 1 )\r
+ queue[0].call(this, function() { jQuery(elem).dequeue(type); });\r
});\r
},\r
dequeue: function(type){\r
return this.each(function(){\r
jQuery.dequeue( this, type );\r
});\r
+ },\r
+ clearQueue: function(type){\r
+ return this.queue( type || "fx", [] );\r
}\r
});
\ No newline at end of file