如何判断DOM元素在当前视口中是否可见?
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 有没有一种有效的方法来判断DOM元素(在HTML文档中)当前是否可见(显示在 视口中 )? (问题是指Firefox) #1楼 请参阅使用 getBoundingClientRect 的 边缘 源。 就像是: function inViewport (el) { var r, html; if ( !el || 1 !== el.nodeType ) { return false; } html = document.documentElement; r = el.getBoundingClientRect(); return ( !!r && r.bottom >= 0 && r.right >= 0 && r.top <= html.clientHeight && r.left <= html.clientWidth ); } 如果元素的 任何 部分在视口中,则返回 true 。 #2楼 更新: 时间在前进,我们的浏览器也在前进。 不再推荐 使用 此技术, 如果不需要支持IE <7,则应使用下面的 @Dan 解决方案( https://stackoverflow.com/a/7557433/5628 )。 原始解决方案(现已过时): 这将检查该元素在当前视口中是否完全可见: function