$show.js 819 B

12345678910111213141516171819202122232425262728
  1. var each = require('./each');
  2. var $safeEls = require('./$safeEls');
  3. exports = function(els) {
  4. els = $safeEls(els);
  5. each(els, function(el) {
  6. if (isHidden(el)) {
  7. el.style.display = getDefDisplay(el.nodeName);
  8. }
  9. });
  10. };
  11. function isHidden(el) {
  12. return getComputedStyle(el, '').getPropertyValue('display') == 'none';
  13. }
  14. var elDisplay = {};
  15. function getDefDisplay(elName) {
  16. var el, display;
  17. if (!elDisplay[elName]) {
  18. el = document.createElement(elName);
  19. document.documentElement.appendChild(el);
  20. display = getComputedStyle(el, '').getPropertyValue('display');
  21. el.parentNode.removeChild(el);
  22. display == 'none' && (display = 'block');
  23. elDisplay[elName] = display;
  24. }
  25. return elDisplay[elName];
  26. }
  27. module.exports = exports;