Skip to content
Permalink
Browse files

Effects: Don't overwrite display:none when .hide()ing hidden elements

Fixes #14848
Closes gh-1548
  • Loading branch information...
gibson042 authored and dmethvin committed Mar 20, 2014
1 parent 5a8f769 commit 890d441aa5d319e49951ba6f0ec719cd4cb96759
Showing with 23 additions and 5 deletions.
  1. +10 −5 src/effects.js
  2. +13 −0 test/unit/effects.js
@@ -160,11 +160,8 @@ function defaultPrefilter( elem, props, opts ) {
// Set display property to inline-block for height/width
// animations on inline elements that are having width/height animated
display = jQuery.css( elem, "display" );
// Get default display if display is currently "none"
if ( display === "none" ) {
display = defaultDisplay( elem.nodeName );
}
if ( display === "inline" &&
// Test default display if display is currently "none"
if ( (display === "none" ? defaultDisplay( elem.nodeName ) : display) === "inline" &&
jQuery.css( elem, "float" ) === "none" ) {

style.display = "inline-block";
@@ -196,6 +193,10 @@ function defaultPrefilter( elem, props, opts ) {
}
}
orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );

// Any non-fx value stops us from restoring the original display value
} else {
display = undefined;
}
}

@@ -238,6 +239,10 @@ function defaultPrefilter( elem, props, opts ) {
}
}
}

// If this is a noop like .hide().hide(), restore an overwritten display value
} else if ( (display === "none" ? defaultDisplay( elem.nodeName ) : display) === "inline" ) {
style.display = display;
}
}

@@ -1620,6 +1620,19 @@ test( "hide, fadeOut and slideUp called on element width height and width = 0 sh
this.clock.tick( 400 );
});

test( "hide should not leave hidden inline elements visible (#14848)", 2, function() {
var el = jQuery("#simon1");

el.hide( 1, function() {
equal( el.css( "display" ), "none", "hidden" );
el.hide( 1, function() {
equal( el.css( "display" ), "none", "still hidden" );
});
});

this.clock.tick( 100 );
});

test( "Handle queue:false promises", 10, function() {
var foo = jQuery( "#foo" ).clone().addBack(),
step = 1;

0 comments on commit 890d441

Please sign in to comment.
You can’t perform that action at this time.