mirror of
https://github.com/jquery/jquery-ui.git
synced 2026-04-20 03:02:41 -04:00
Effects: Jump to final state and execute callbacks when $.fx.off is set to true. Fixes #6131 - Dialog breaks when $.fx.off. Partial fix for #5512 - jQuery.fx.off and effect on jQuery UI Effects.
This commit is contained in:
18
ui/jquery.effects.core.js
vendored
18
ui/jquery.effects.core.js
vendored
@@ -456,15 +456,29 @@ function standardSpeed( speed ) {
|
||||
$.fn.extend({
|
||||
effect: function(effect, options, speed, callback) {
|
||||
var args = _normalizeArguments.apply(this, arguments),
|
||||
// TODO: make effects takes actual parameters instead of a hash
|
||||
// TODO: make effects take actual parameters instead of a hash
|
||||
args2 = {
|
||||
options: args[1],
|
||||
duration: args[2],
|
||||
callback: args[3]
|
||||
},
|
||||
mode = args2.options.mode,
|
||||
effectMethod = $.effects[effect];
|
||||
|
||||
return effectMethod && !$.fx.off ? effectMethod.call(this, args2) : this;
|
||||
if ( $.fx.off || !effectMethod ) {
|
||||
// delegate to the original method (e.g., .show()) if possible
|
||||
if ( mode ) {
|
||||
return this[ mode ]( args2.duration, args2.callback );
|
||||
} else {
|
||||
return this.each(function() {
|
||||
if ( args2.callback ) {
|
||||
args2.callback.call( this );
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return effectMethod.call(this, args2);
|
||||
},
|
||||
|
||||
_show: $.fn.show,
|
||||
|
||||
Reference in New Issue
Block a user