MCPcopy Index your code
hub / github.com/JsAaron/jQuery / showHide

Function showHide

2.1.1/src/css.js:152–201  ·  view source on GitHub ↗
( elements, show )

Source from the content-addressed store, hash-verified

150}
151
152function showHide( elements, show ) {
153 var display, elem, hidden,
154 values = [],
155 index = 0,
156 length = elements.length;
157
158 for ( ; index < length; index++ ) {
159 elem = elements[ index ];
160 if ( !elem.style ) {
161 continue;
162 }
163
164 values[ index ] = data_priv.get( elem, "olddisplay" );
165 display = elem.style.display;
166 if ( show ) {
167 // Reset the inline display of this element to learn if it is
168 // being hidden by cascaded rules or not
169 if ( !values[ index ] && display === "none" ) {
170 elem.style.display = "";
171 }
172
173 // Set elements which have been overridden with display: none
174 // in a stylesheet to whatever the default browser style is
175 // for such an element
176 if ( elem.style.display === "" && isHidden( elem ) ) {
177 values[ index ] = data_priv.access( elem, "olddisplay", defaultDisplay(elem.nodeName) );
178 }
179 } else {
180 hidden = isHidden( elem );
181
182 if ( display !== "none" || !hidden ) {
183 data_priv.set( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) );
184 }
185 }
186 }
187
188 // Set the display of most of the elements in a second loop
189 // to avoid the constant reflow
190 for ( index = 0; index < length; index++ ) {
191 elem = elements[ index ];
192 if ( !elem.style ) {
193 continue;
194 }
195 if ( !show || elem.style.display === "none" || elem.style.display === "" ) {
196 elem.style.display = show ? values[ index ] || "" : "none";
197 }
198 }
199
200 return elements;
201}
202
203jQuery.extend({
204

Callers 1

css.jsFile · 0.70

Calls 2

isHiddenFunction · 0.50
defaultDisplayFunction · 0.50

Tested by

no test coverage detected