2012-08-28 143 views
5

如果一个元素可以通过人类可以看出,所有的必须满足以下条件的:检测元素是否真的可见

然而,这些并不包括所有的情况。例如,我能想到的一个简单的例子是,如果一个元素落在其祖先的可见区域之外,并且祖先的风格为overflow: hidden,那么该元素不能被看到。

任何现有的例子/ jQuery插件/等。涵盖了大多数(如果不是全部的话)可能性?

+4

什么是你tryi实际问题ng解决?如果对象可见或不可见,你做什么不同? – jfriend00

+1

一个完全覆盖目标的可见物体呢?那么你认为它是可见的吗? – nneonneo

+0

我试着在过去为同样的问题找到解决方案,但失败了。我想解决的问题是在HTML5 canvas元素“暴露”时开始动画。我通过循环动画来“固定”它。 – Adam

回答

2

它不可能检测是否一个元件可通过人类或不可见。 这里有一些更多的情况下,你不能覆盖:

  1. 其他浏览器选项卡打开
  2. 另一个应用程序隐藏浏览器窗口
  3. 显示器关闭
  4. 用户闭着眼睛 。 ..等

[嘲讽结束]

+1

或者如果元素有一个类似'left:-999px' –

+2

的风格或者定位将多个项目堆叠在彼此之上并且具有相同的z-index –

相关问题