aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
Diffstat (limited to 'ui')
-rw-r--r--ui/jquery.effects.core.js15
1 files changed, 11 insertions, 4 deletions
diff --git a/ui/jquery.effects.core.js b/ui/jquery.effects.core.js
index 330ddd83c..b08cd6cf4 100644
--- a/ui/jquery.effects.core.js
+++ b/ui/jquery.effects.core.js
@@ -556,19 +556,26 @@ $.fn.extend({
}
function run( next ) {
- var elem = this,
- complete = args.complete;
+ var elem = $( this ),
+ complete = args.complete,
+ mode = args.mode;
function done() {
if ( $.isFunction( complete ) ) {
- complete.call( elem );
+ complete.call( elem[0] );
}
if ( $.isFunction( next ) ) {
next();
}
}
- effectMethod.call( elem, args, done );
+ // if the element is hiddden and mode is hide,
+ // or element is visible and mode is show
+ if ( elem.is( ":hidden" ) ? mode === "hide" : mode === "show" ) {
+ done();
+ } else {
+ effectMethod.call( elem[0], args, done );
+ }
}
// TODO: remove this check in 2.0, effectMethod will always be true