From ec70f222c3f8590bcd2b5b131145d7869f471c89 Mon Sep 17 00:00:00 2001 From: Corey Frang Date: Wed, 18 Apr 2012 08:47:14 -0500 Subject: [PATCH] a few more bytes Conflicts: src/effects.js --- src/effects.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/effects.js b/src/effects.js index ca9f6ef1d9..fa460d56d4 100644 --- a/src/effects.js +++ b/src/effects.js @@ -71,13 +71,14 @@ function Animation( elem, properties, options ) { index = 0, tweenerIndex = 0, length = preFilters.length, - deferred = jQuery.Deferred().always(function() { + finished = jQuery.Callbacks("once memory"), + deferred = jQuery.Deferred().always(function( ended ) { // remove cirular reference delete animation.tick; - }), - finished = deferred.then( undefined, function( ended ) { - if ( ended ) { - return jQuery.Deferred().resolveWith( this, [] ); + + if ( deferred.isResolved() || ended ) { + // fire callbacks + finished.fireWith( this ); } }), animation = { @@ -88,7 +89,7 @@ function Animation( elem, properties, options ) { opts: jQuery.extend( {}, options ), startTime: fxNow || createFxNow(), duration: options.duration, - finish: finished.done, + finish: finished.add, tweens: [], createTween: function( prop, end, easing ) { var tween = jQuery.Tween( elem, animation.opts, prop, end,