From: John Resig Date: Thu, 21 Jun 2007 02:38:16 +0000 (+0000) Subject: Fix for #1214, #1216, #1234 (problem with animations). In a nutshell, the callback... X-Git-Url: http://git.asbjorn.biz/?a=commitdiff_plain;h=5e6c14993a1010a2f6e8ce1f1d5d64171d324581;hp=6f510757ab47b4377c8af954418d216afda37949;p=jquery.git Fix for #1214, #1216, #1234 (problem with animations). In a nutshell, the callback needs to occur even if the animation does not run. --- diff --git a/src/fx/fx.js b/src/fx/fx.js index dd5407c..51e8157 100644 --- a/src/fx/fx.js +++ b/src/fx/fx.js @@ -307,16 +307,15 @@ jQuery.fn.extend({ */ animate: function( prop, speed, easing, callback ) { return this.queue(function(){ - var hidden = jQuery(this).is(":hidden"); + var hidden = jQuery(this).is(":hidden"), + opt = jQuery.speed(speed, easing, callback), + self = this; for ( var p in prop ) - if ( prop[p] == "hide" && hidden || - prop[p] == "show" && !hidden ) - return; + if ( prop[p] == "hide" && hidden || prop[p] == "show" && !hidden ) + return jQuery.isFunction(opt.complete) && opt.complete.apply(this); this.curAnim = jQuery.extend({}, prop); - var opt = jQuery.speed(speed, easing, callback); - var self = this; jQuery.each( prop, function(name, val){ var e = new jQuery.fx( self, opt, name );