是否有统一的方法来了解节点是否可见?

zne*_*eak 8 html javascript css

我希望能够知道节点是否可见并在屏幕上呈现.据我所知,至少有3种标准和简单的方法使HTML节点不可见:

  • 设定opacity: 0;
  • 设定display: none;
  • 设定visibility: hidden.

我可以检查这三个,但我担心当涉及到隐藏内容的方式时,人们可以发挥创意:

  • 使用负边距在屏幕外发送元素;
  • 使用0的宽度或高度隐藏溢出;
  • 我相信人们已经发展了更多.

所以我想知道是否有一种标准方法来确定节点是否呈现在屏幕上.我很确定所有主流浏览器都会自行确定加速绘图,所以也许它会以某种方式暴露出来.

Tho*_*mas 1

您可以尝试使用 jQuery 的:visible修饰符。

http://api.jquery.com/visible-selector/

不幸的是,我相当确定这没有考虑到您所谈论的任何“棘手”案例。

  • 正如 jQuery 文档所说: *可见性:隐藏或不透明度:0 的元素被认为是可见的* 所以 :visible 将不起作用 (3认同)