From 09b28534fa0d9a85d4618ddca163ce187ee50d63 Mon Sep 17 00:00:00 2001 From: Dave Methvin Date: Tue, 24 Dec 2013 15:59:37 -0500 Subject: [PATCH] Effects: First step() call should match :animated selector (cherry picked from commit 085814474e4a854d533b5ccbaef24c090081e0c4) Fixes #14623 Closes gh-1473 --- src/effects.js | 5 ++++- test/unit/effects.js | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/effects.js b/src/effects.js index bd2e4eef9..c843549c2 100644 --- a/src/effects.js +++ b/src/effects.js @@ -616,8 +616,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(); } }; diff --git a/test/unit/effects.js b/test/unit/effects.js index acbc776fb..4f75dddf2 100644 --- a/test/unit/effects.js +++ b/test/unit/effects.js @@ -1608,6 +1608,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("
hide
hide0
hide1
"); -- 2.39.5