我希望能够知道节点是否可见并在屏幕上呈现。据我所知,至少有3种标准且简单的方法可以使HTML节点不可见:
opacity: 0
; display: none
; visibility: hidden
。我可以检查这三个,但我担心人们在隐藏内容的方式上可以发挥创意:
所以我想知道是否有一种标准方法来确定节点是否呈现给屏幕。我很确定所有主流浏览器都会自行确定加速绘图的速度,所以也许它会以某种方式曝光。
答案 0 :(得分:1)
答案 1 :(得分:0)
如果这是您的页面,那么您可以拥有大部分控制权,这就是应用您实施的标准的问题。如果这是 forign 页面(例如,如果您正在编写书签),则变量数量非常大。
可见性对人和浏览器意味着不同的东西。浏览器需要知道页面的上下文和布局以及对象是否占用空间,即使在opacity:0
和visibility:hidden
的情况下也是如此,这就是jQuery以这种方式工作的原因。 / p>
所以你需要查看特定的元素,包括它的边距,填充,溢出属性,可见性,显示,所有不透明度设置,我猜也检查color:rgba(*,*,*,0)
。然后你需要查看每个父对象一直回到文档。