Skip to content
Permalink
Browse files

Landing pull request 496. 1.7 animate: allow named queues to be used …

…by animate. Fixes #9280.

More Details:
 - #496
 - http://bugs.jquery.com/ticket/9280
  • Loading branch information...
gnarf authored and timmywil committed Sep 19, 2011
1 parent af1dc64 commit e4c48a34b4fe687d4a3b935b6c405f502dd0223e
Showing with 42 additions and 3 deletions.
  1. +7 −3 src/effects.js
  2. +35 −0 test/unit/effects.js
@@ -126,7 +126,7 @@ jQuery.fn.extend({
// Do not change referenced properties as per-property easing will be lost
prop = jQuery.extend( {}, prop );

return this[ optall.queue === false ? "each" : "queue" ](function() {
function doAnimation() {
// XXX 'this' does not always have a nodeName when running the
// test suite

@@ -240,7 +240,11 @@ jQuery.fn.extend({

// For JS strict compliance
return true;
});
}

return optall.queue === false ?
this.each( doAnimation ) :
this.queue( optall.queue || "fx", doAnimation );
},

stop: function( clearQueue, gotoEnd ) {
@@ -335,7 +339,7 @@ jQuery.extend({
}

if ( opt.queue !== false ) {
jQuery.dequeue( this );
jQuery.dequeue( this, opt.queue || "fx" );
} else if ( noUnmark !== false ) {
jQuery._unmark( this );
}
@@ -357,6 +357,41 @@ test("animate option (queue === false)", function () {
});
*/

asyncTest( "animate option { queue: 'name' }", function() {
expect( 5 );

var foo = jQuery( "#foo" ),
origWidth = foo.width(),
order = [];

foo.animate( { width: origWidth + 100 }, {
queue: 'name',
duration: 1,
complete: function() {

// second callback function
order.push( 2 );
equals( foo.width(), origWidth + 100, "Animation ended" );
equals( foo.queue("name").length, 1, "Queue length of 'name' queue" );
}
}).queue( "name", function( next ) {

// last callback function
deepEqual( order, [ 1, 2 ], "Callbacks in expected order" );
start();
});

setTimeout( function() {

// this is the first callback function that should be called
order.push( 1 );
equals( foo.width(), origWidth, "Animation does not start on its own." );
equals( foo.queue("name").length, 2, "Queue length of 'name' queue" );
foo.dequeue( "name" );
}, 100 );

});

test("animate with no properties", function() {
expect(2);

0 comments on commit e4c48a3

Please sign in to comment.
You can’t perform that action at this time.