From a6fc0b16511c70472ebb3dd9469d08566969ac88 Mon Sep 17 00:00:00 2001 From: Timmy Willison Date: Wed, 20 Jan 2016 13:20:58 -0500 Subject: [PATCH] CSS: isHidden -> isHiddenWithinTree Fixes gh-2404 Close gh-2855 --- src/css.js | 3 +-- src/css/showHide.js | 6 +++--- src/css/var/{isHidden.js => isHiddenWithinTree.js} | 4 +++- src/effects.js | 8 ++++---- 4 files changed, 11 insertions(+), 10 deletions(-) rename src/css/var/{isHidden.js => isHiddenWithinTree.js} (62%) diff --git a/src/css.js b/src/css.js index 5d3a0a6b5..f8bd8636a 100644 --- a/src/css.js +++ b/src/css.js @@ -7,7 +7,6 @@ define( [ "./var/rcssNum", "./css/var/rnumnonpx", "./css/var/cssExpand", - "./css/var/isHidden", "./css/var/getStyles", "./css/var/swap", "./css/curCSS", @@ -19,7 +18,7 @@ define( [ "./core/ready", "./selector" // contains ], function( jQuery, pnum, access, rmargin, document, rcssNum, rnumnonpx, cssExpand, - isHidden, getStyles, swap, curCSS, adjustCSS, addGetHookIf, support ) { + getStyles, swap, curCSS, adjustCSS, addGetHookIf, support ) { var diff --git a/src/css/showHide.js b/src/css/showHide.js index 9e2cb1ea4..8c9b0da18 100644 --- a/src/css/showHide.js +++ b/src/css/showHide.js @@ -1,8 +1,8 @@ define( [ "../core", "../data/var/dataPriv", - "../css/var/isHidden" -], function( jQuery, dataPriv, isHidden ) { + "../css/var/isHiddenWithinTree" +], function( jQuery, dataPriv, isHiddenWithinTree ) { var defaultDisplayMap = {}; @@ -95,7 +95,7 @@ jQuery.fn.extend( { } return this.each( function() { - if ( isHidden( this ) ) { + if ( isHiddenWithinTree( this ) ) { jQuery( this ).show(); } else { jQuery( this ).hide(); diff --git a/src/css/var/isHidden.js b/src/css/var/isHiddenWithinTree.js similarity index 62% rename from src/css/var/isHidden.js rename to src/css/var/isHiddenWithinTree.js index 7997efff1..1c81f6480 100644 --- a/src/css/var/isHidden.js +++ b/src/css/var/isHiddenWithinTree.js @@ -5,9 +5,11 @@ define( [ // css is assumed ], function( jQuery ) { + // This function differs from the :hidden selector + // in that it intentionally ignores hidden ancestors (gh-2404) return function( elem, el ) { - // isHidden might be called from jQuery#filter function; + // isHiddenWithinTree might be called from jQuery#filter function; // in that case, element will be second argument elem = el || elem; return jQuery.css( elem, "display" ) === "none" || diff --git a/src/effects.js b/src/effects.js index 43162e1fb..db4b4101c 100644 --- a/src/effects.js +++ b/src/effects.js @@ -4,7 +4,7 @@ define( [ "./var/rcssNum", "./var/rnotwhite", "./css/var/cssExpand", - "./css/var/isHidden", + "./css/var/isHiddenWithinTree", "./css/var/swap", "./css/adjustCSS", "./data/var/dataPriv", @@ -17,7 +17,7 @@ define( [ "./manipulation", "./css", "./effects/Tween" -], function( jQuery, document, rcssNum, rnotwhite, cssExpand, isHidden, swap, +], function( jQuery, document, rcssNum, rnotwhite, cssExpand, isHiddenWithinTree, swap, adjustCSS, dataPriv, showHide ) { var @@ -82,7 +82,7 @@ function defaultPrefilter( elem, props, opts ) { anim = this, orig = {}, style = elem.style, - hidden = elem.nodeType && isHidden( elem ), + hidden = elem.nodeType && isHiddenWithinTree( elem ), dataShow = dataPriv.get( elem, "fxshow" ); // Queue-skipping animations hijack the fx hooks @@ -479,7 +479,7 @@ jQuery.fn.extend( { fadeTo: function( speed, to, easing, callback ) { // Show any hidden elements after setting opacity to 0 - return this.filter( isHidden ).css( "opacity", 0 ).show() + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() // Animate to the value specified .end().animate( { opacity: to }, speed, easing, callback ); -- 2.39.5