Fix for #1823 bug in animate {queue:false} plus a unit test.
This commit is contained in:
parent
ab96367f12
commit
1d299d375b
2 changed files with 25 additions and 1 deletions
|
@ -201,7 +201,8 @@ jQuery.extend({
|
|||
// Queueing
|
||||
opt.old = opt.complete;
|
||||
opt.complete = function(){
|
||||
jQuery(this).dequeue();
|
||||
if ( opt.queue !== false )
|
||||
jQuery(this).dequeue();
|
||||
if ( jQuery.isFunction( opt.old ) )
|
||||
opt.old.apply( this );
|
||||
};
|
||||
|
|
|
@ -11,6 +11,29 @@ test("animate(Hash, Object, Function)", function() {
|
|||
});
|
||||
});
|
||||
|
||||
test("animate option (queue === false)", function () {
|
||||
expect(1);
|
||||
stop();
|
||||
|
||||
var order = [];
|
||||
|
||||
var $foo = $("#foo");
|
||||
$foo.animate({width:'100px'}, 200, function () {
|
||||
// should finish after unqueued animation so second
|
||||
order.push(2);
|
||||
});
|
||||
$foo.animate({fontSize:'2em'}, {queue:false, duration:10, complete:function () {
|
||||
// short duration and out of queue so should finish first
|
||||
order.push(1);
|
||||
}});
|
||||
$foo.animate({height:'100px'}, 10, function() {
|
||||
// queued behind the first animation so should finish third
|
||||
order.push(3);
|
||||
isSet( order, [ 1, 2, 3] );
|
||||
start();
|
||||
});
|
||||
});
|
||||
|
||||
test("stop()", function() {
|
||||
expect(3);
|
||||
stop();
|
||||
|
|
Loading…
Reference in a new issue