diff options
author | jeresig <jeresig@gmail.com> | 2009-12-21 11:11:03 -0500 |
---|---|---|
committer | jeresig <jeresig@gmail.com> | 2009-12-21 11:11:03 -0500 |
commit | 0d5bd174614fa278826ac4aaaa64342f17c0ae56 (patch) | |
tree | efc8cba12b0cd8d6158c1a4120e5e0344cdd460c | |
parent | f0505c6d75722d5617dedfd5f6165285c18103c8 (diff) | |
download | jquery-0d5bd174614fa278826ac4aaaa64342f17c0ae56.tar.gz jquery-0d5bd174614fa278826ac4aaaa64342f17c0ae56.zip |
Moved logic for handling .animate({}), doesn't queue anymore. Fixes #5459.
-rw-r--r-- | src/effects.js | 8 | ||||
-rw-r--r-- | test/unit/effects.js | 12 |
2 files changed, 15 insertions, 5 deletions
diff --git a/src/effects.js b/src/effects.js index c562d0335..5d656c96c 100644 --- a/src/effects.js +++ b/src/effects.js @@ -108,6 +108,10 @@ jQuery.fn.extend({ animate: function( prop, speed, easing, callback ) { var optall = jQuery.speed(speed, easing, callback); + if ( jQuery.isEmptyObject( prop ) ) { + return this.each( optall.complete ); + } + return this[ optall.queue === false ? "each" : "queue" ](function() { var opt = jQuery.extend({}, optall), p, hidden = this.nodeType === 1 && jQuery(this).is(":hidden"), @@ -181,10 +185,6 @@ jQuery.fn.extend({ } }); - if ( jQuery.isEmptyObject( prop ) ) { - return optall.complete.call(this); - } - // For JS strict compliance return true; }); diff --git a/test/unit/effects.js b/test/unit/effects.js index 2c5616dd9..cefcc15a4 100644 --- a/test/unit/effects.js +++ b/test/unit/effects.js @@ -120,7 +120,7 @@ test("animate option (queue === false)", function () { */ test("animate with no properties", function() { - expect(1); + expect(2); var divs = jQuery("div"), count = 0; @@ -129,6 +129,16 @@ test("animate with no properties", function() { }); equals( divs.length, count, "Make sure that callback is called for each element in the set." ); + + stop(); + + var foo = jQuery("#foo"); + + foo.animate({}); + foo.animate({top: 10}, 100, function(){ + ok( true, "Animation was properly dequeued." ); + start(); + }); }); test("animate duration 0", function() { |