Added in the .delay() method for delaying the execution of queued functions and animations.
This commit is contained in:
parent
d42afd0f65
commit
bbd933cbfe
15
src/data.js
15
src/data.js
|
@ -166,6 +166,21 @@ jQuery.fn.extend({
|
||||||
jQuery.dequeue( this, type );
|
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){
|
clearQueue: function(type){
|
||||||
return this.queue( type || "fx", [] );
|
return this.queue( type || "fx", [] );
|
||||||
}
|
}
|
||||||
|
|
|
@ -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() {
|
test("clearQueue(name) clears the queue", function() {
|
||||||
expect(1);
|
expect(1);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue