2012-08-28 189 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 –

相關問題