JavaScript DOM元素可见性检查器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript DOM元素可见性检查器相关的知识,希望对你有一定的参考价值。

Determines if a given element is visible, by checking a variety of things. Will work for CSS or inline style declarations of visible:hidden or display: none. Will check if it's inside of an invisible element, as well.
  1. function isVisible(obj)
  2. {
  3. if (obj == document) return true
  4.  
  5. if (!obj) return false
  6. if (!obj.parentNode) return false
  7. if (obj.style) {
  8. if (obj.style.display == 'none') return false
  9. if (obj.style.visibility == 'hidden') return false
  10. }
  11.  
  12. //Try the computed style in a standard way
  13. if (window.getComputedStyle) {
  14. var style = window.getComputedStyle(obj, "")
  15. if (style.display == 'none') return false
  16. if (style.visibility == 'hidden') return false
  17. }
  18.  
  19. //Or get the computed style using IE's silly proprietary way
  20. var style = obj.currentStyle
  21. if (style) {
  22. if (style['display'] == 'none') return false
  23. if (style['visibility'] == 'hidden') return false
  24. }
  25.  
  26. return isVisible(obj.parentNode)
  27. }

以上是关于JavaScript DOM元素可见性检查器的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Puppeteer 和纯 JavaScript 检查元素是不是可见?

检查元素在 DOM 中是不是可见

检查DOM元素是否完全可见

检查元素的可见性[重复]

javascript 元素可见DOM

Angular 2 检查元素可见性