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
+ if( type == "fx" && queue.length == 1 )\r
+ queue[0].call(this, function() { jQuery(elem).dequeue(type); });\r
});\r
},\r
dequeue: function(type){\r
});\r
},\r
clearQueue: function(type){\r
- return this.queue( type, [] );\r
+ return this.queue( type || "fx", [] );\r
}\r
});
\ No newline at end of file
div.removeData();\r
});\r
\r
- expect(1);\r
- \r
- var div = jQuery({});\r
- var counter = 0;\r
- \r
- div.queue("foo", function(next) {\r
- counter++;\r
- jQuery(this).clearQueue("foo");\r
- next();\r
- }).queue("foo", function(next) {\r
- counter++;\r
- });\r
- \r
- div.dequeue("foo");\r
- \r
- equals(counter, 1, "the queue was cleared");\r
test("queue(name) passes in the next item in the queue as a parameter", function() {\r
expect(2);\r
\r
}).queue(function(next) {\r
equals(++counter, 2, "Next was called");\r
next();\r
- }).queue(function() {\r
+ }).queue("bar", function() {\r
equals(++counter, 3, "Other queues are not triggered by next()")\r
});\r
\r
- div.dequeue();\r
- \r
div.removeData();\r
});\r
\r
div.dequeue("foo");\r
\r
equals(counter, 1, "the queue was cleared");\r
+ \r
+ div.removeData();\r
});\r
\r
test("clearQueue() clears the fx queue", function() {\r
\r
div.queue(function(next) {\r
counter++;\r
- jQuery(this).clearQueue();\r
- next();\r
+ setTimeout(function() { jQuery(this).clearQueue(); next(); }, 50);\r
}).queue(function(next) {\r
counter++;\r
});\r
\r
- div.dequeue();\r
- \r
equals(counter, 1, "the queue was cleared");\r
-})\r
+ \r
+ div.removeData();\r
+});\r