Fix for #1214, #1216, #1234 (problem with animations). In a nutshell, the callback needs to occur even if the animation does not run.
This commit is contained in:
parent
6f510757ab
commit
5e6c14993a
1 changed files with 5 additions and 6 deletions
11
src/fx/fx.js
11
src/fx/fx.js
|
@ -307,16 +307,15 @@ jQuery.fn.extend({
|
||||||
*/
|
*/
|
||||||
animate: function( prop, speed, easing, callback ) {
|
animate: function( prop, speed, easing, callback ) {
|
||||||
return this.queue(function(){
|
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 )
|
for ( var p in prop )
|
||||||
if ( prop[p] == "hide" && hidden ||
|
if ( prop[p] == "hide" && hidden || prop[p] == "show" && !hidden )
|
||||||
prop[p] == "show" && !hidden )
|
return jQuery.isFunction(opt.complete) && opt.complete.apply(this);
|
||||||
return;
|
|
||||||
|
|
||||||
this.curAnim = jQuery.extend({}, prop);
|
this.curAnim = jQuery.extend({}, prop);
|
||||||
var opt = jQuery.speed(speed, easing, callback);
|
|
||||||
var self = this;
|
|
||||||
|
|
||||||
jQuery.each( prop, function(name, val){
|
jQuery.each( prop, function(name, val){
|
||||||
var e = new jQuery.fx( self, opt, name );
|
var e = new jQuery.fx( self, opt, name );
|
||||||
|
|
Loading…
Reference in a new issue