mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
48 lines
986 B
JavaScript
48 lines
986 B
JavaScript
|
define([
|
||
|
"../data/var/dataPriv"
|
||
|
], function( dataPriv ) {
|
||
|
|
||
|
function showHide( elements, show ) {
|
||
|
var display, elem,
|
||
|
values = [],
|
||
|
index = 0,
|
||
|
length = elements.length;
|
||
|
|
||
|
// Determine new display value for elements that need to change
|
||
|
for ( ; index < length; index++ ) {
|
||
|
elem = elements[ index ];
|
||
|
if ( !elem.style ) {
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
display = elem.style.display;
|
||
|
if ( show ) {
|
||
|
if ( display === "none" ) {
|
||
|
// Restore a pre-hide() value if we have one
|
||
|
values[ index ] = dataPriv.get( elem, "display" ) || "";
|
||
|
}
|
||
|
} else {
|
||
|
if ( display !== "none" ) {
|
||
|
values[ index ] = "none";
|
||
|
|
||
|
// Remember the value we're replacing
|
||
|
dataPriv.set( elem, "display", display );
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Set the display of the elements in a second loop
|
||
|
// to avoid the constant reflow
|
||
|
for ( index = 0; index < length; index++ ) {
|
||
|
if ( values[ index ] != null ) {
|
||
|
elements[ index ].style.display = values[ index ];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return elements;
|
||
|
}
|
||
|
|
||
|
return showHide;
|
||
|
|
||
|
});
|