]> source.dussan.org Git - jquery.git/commitdiff
Effects: First step() call should match :animated selector
authorDave Methvin <dave.methvin@gmail.com>
Tue, 24 Dec 2013 20:59:37 +0000 (15:59 -0500)
committerDave Methvin <dave.methvin@gmail.com>
Tue, 7 Jan 2014 21:01:34 +0000 (16:01 -0500)
Fixes #14623
Closes gh-1473

src/effects.js
test/unit/effects.js

index b439d8d58dfee4006233d76fc677087fc1f45d95..e3ccefff61491edbbf604a8c0794f914900396e2 100644 (file)
@@ -610,8 +610,11 @@ jQuery.fx.tick = function() {
 };
 
 jQuery.fx.timer = function( timer ) {
-       if ( timer() && jQuery.timers.push( timer ) ) {
+       jQuery.timers.push( timer );
+       if ( timer() ) {
                jQuery.fx.start();
+       } else {
+               jQuery.timers.pop();
        }
 };
 
index 1645842c490fd30b4bf64af4726a5981cdb48ede..318010b182582cf93920526ee8ad03ec51c9d629 100644 (file)
@@ -1550,6 +1550,21 @@ test("Animation callback should not show animated element as :animated (#7157)",
        this.clock.tick( 100 );
 });
 
+test("Initial step callback should show element as :animated (#14623)", 1, function() {
+       var foo = jQuery( "#foo" );
+
+       foo.animate({
+               opacity: 0,
+       }, {
+               duration: 100,
+               step: function() {
+                       ok( foo.is(":animated"), "The element matches :animated inside step function" );
+               }
+       });
+       this.clock.tick( 1 );
+       foo.stop();
+});
+
 test( "hide called on element within hidden parent should set display to none (#10045)", 3, function() {
        var hidden = jQuery(".hidden"),
                elems = jQuery("<div>hide</div><div>hide0</div><div>hide1</div>");