Permalink
Browse files

Added in the .delay() method for delaying the execution of queued fun…

…ctions and animations.
  • Loading branch information...
jeresig committed Dec 4, 2009
1 parent d42afd0 commit bbd933cbfe6d31a749cb336d7a84155ccfab247f
Showing with 30 additions and 0 deletions.
  1. +15 −0 src/data.js
  2. +15 −0 test/unit/data.js
View
@@ -166,6 +166,21 @@ jQuery.fn.extend({
jQuery.dequeue( this, type );
});
},
+
+ // Based off of the plugin by Clint Helfers, with permission.
+ // http://blindsignals.com/index.php/2009/07/jquery-delay/
+ delay: function( time, type ) {
+ time = jQuery.fx ? jQuery.fx.speeds[time] || time : time;
+ type = type || "fx";
+
+ return this.queue( type, function() {
+ var elem = this;
+ setTimeout(function() {
+ jQuery.dequeue( elem, type );
+ }, time );
+ });
+ },
+
clearQueue: function(type){
return this.queue( type || "fx", [] );
}
View
@@ -257,6 +257,21 @@ test("queue() passes in the next item in the queue as a parameter to fx queues",
});
+test("delay()", function() {
+ expect(2);
+ stop();
+
+ var foo = jQuery({}), run = 0;
+
+ foo.delay(100).queue(function(){
+ run = 1;
+ ok( true, "The function was dequeued." );
+ start();
+ });
+
+ equals( run, 0, "The delay delayed the next function from running." );
+});
+
test("clearQueue(name) clears the queue", function() {
expect(1);

1 comment on commit bbd933c

@wiyono

This comment has been minimized.

Show comment Hide comment
@wiyono

wiyono Apr 9, 2011

Thank you

wiyono commented on bbd933c Apr 9, 2011

Thank you

Please sign in to comment.