diff --git a/src/effects.js b/src/effects.js index a1ba37707..6f8685699 100644 --- a/src/effects.js +++ b/src/effects.js @@ -304,7 +304,7 @@ function defaultPrefilter( elem, props, opts ) { // show/hide pass - dataShow = jQuery._data( elem, "fxshow" ) || jQuery._data( elem, "fxshow", {} ); + dataShow = data_priv.get( elem, "fxshow" ); for ( index in props ) { value = props[ index ]; if ( rfxtypes.exec( value ) ) { @@ -313,20 +313,19 @@ function defaultPrefilter( elem, props, opts ) { if ( value === ( hidden ? "hide" : "show" ) ) { // If there is dataShow left over from a stopped hide or show and we are going to proceed with show, we should pretend to be hidden - if( value === "show" && dataShow[ index ] !== undefined ) { + if( value === "show" && dataShow !== undefined && dataShow[ index ] !== undefined ) { hidden = true; } else { - continue; - } + continue; + } } handled.push( index ); } } length = handled.length; - if ( !length ) { + if ( length ) { dataShow = data_priv.get( elem, "fxshow" ) || data_priv.access( elem, "fxshow", {} ); - } else { if ( "hidden" in dataShow ) { hidden = dataShow.hidden; }