Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. function showHide(elements, show) {
  2. var display, elem, hidden,
  3. values = [],
  4. index = 0,
  5. length = elements.length;
  6. for (; index < length; index++) {
  7. elem = elements[index];
  8. if (!elem.style) {
  9. continue;
  10. }
  11.  
  12. values[index] = jQuery._data(elem, "olddisplay");
  13. display = elem.style.display;
  14. if (show) {
  15. // Reset the inline display of this element to learn if it is
  16. // being hidden by cascaded rules or not
  17. if (!values[index] && display === "none") {
  18. elem.style.display = "";
  19. }
  20.  
  21. // Set elements which have been overridden with display: none
  22. // in a stylesheet to whatever the default browser style is
  23. // for such an element
  24. if (elem.style.display === "" && isHidden(elem)) {
  25. values[index] = jQuery._data(elem, "olddisplay", css_defaultDisplay(elem.nodeName));
  26. }
  27. elem.setAttribute("aria-hidden", "false");
  28. } else {
  29.  
  30. if (!values[index]) {
  31. hidden = isHidden(elem);
  32.  
  33. if (display && display !== "none" || !hidden) {
  34. jQuery._data(elem, "olddisplay", hidden ? display : jQuery.css(elem, "display"));
  35. }
  36. }
  37. elem.setAttribute("aria-hidden", "true");
  38. }
  39. }
  40.  
  41. // Set the display of most of the elements in a second loop
  42. // to avoid the constant reflow
  43. for (index = 0; index < length; index++) {
  44. elem = elements[index];
  45. if (!elem.style) {
  46. continue;
  47. }
  48. if (!show || elem.style.display === "none" || elem.style.display === "") {
  49. elem.style.display = show ? values[index] || "" : "none";
  50. }
  51. }
  52.  
  53. return elements;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement