如果 DIV 元素没有脱离屏幕,我需要使用 jQuery 检查。这些元素是可见的并根据 CSS 属性显示,但可以通过以下方式有意将它们放置在屏幕外:
position: absolute;
left: -1000px;
top: -1000px;
我无法使用 jQuery :visible
选择器,因为该元素具有非零高度和宽度。
我没有做任何花哨的事情。这种绝对位置放置是我的 Ajax 框架实现某些小部件的隐藏/显示的方式。
原文由 Max 发布,翻译遵循 CC BY-SA 4.0 许可协议
取决于您对“屏幕外”的定义。那是在视口内,还是在页面定义的边界内?
使用 Element.getBoundingClientRect() 您可以轻松检测您的元素是否在视口的边界内(即屏幕上或屏幕外):
然后您可以通过多种方式使用它: