MCPcopy Index your code
hub / github.com/idank/explainshell / showHide

Function showHide

explainshell/web/static/js/jquery.js:6669–6721  ·  view source on GitHub ↗
( elements, show )

Source from the content-addressed store, hash-verified

6667}
6668
6669function showHide( elements, show ) {
6670 var display, elem, hidden,
6671 values = [],
6672 index = 0,
6673 length = elements.length;
6674
6675 for ( ; index < length; index++ ) {
6676 elem = elements[ index ];
6677 if ( !elem.style ) {
6678 continue;
6679 }
6680
6681 values[ index ] = jQuery._data( elem, "olddisplay" );
6682 display = elem.style.display;
6683 if ( show ) {
6684 // Reset the inline display of this element to learn if it is
6685 // being hidden by cascaded rules or not
6686 if ( !values[ index ] && display === "none" ) {
6687 elem.style.display = "";
6688 }
6689
6690 // Set elements which have been overridden with display: none
6691 // in a stylesheet to whatever the default browser style is
6692 // for such an element
6693 if ( elem.style.display === "" && isHidden( elem ) ) {
6694 values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) );
6695 }
6696 } else {
6697
6698 if ( !values[ index ] ) {
6699 hidden = isHidden( elem );
6700
6701 if ( display && display !== "none" || !hidden ) {
6702 jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) );
6703 }
6704 }
6705 }
6706 }
6707
6708 // Set the display of most of the elements in a second loop
6709 // to avoid the constant reflow
6710 for ( index = 0; index < length; index++ ) {
6711 elem = elements[ index ];
6712 if ( !elem.style ) {
6713 continue;
6714 }
6715 if ( !show || elem.style.display === "none" || elem.style.display === "" ) {
6716 elem.style.display = show ? values[ index ] || "" : "none";
6717 }
6718 }
6719
6720 return elements;
6721}
6722
6723jQuery.fn.extend({
6724 css: function( name, value ) {

Callers 1

jquery.jsFile · 0.85

Calls 2

isHiddenFunction · 0.85
css_defaultDisplayFunction · 0.85

Tested by

no test coverage detected