2012-08-28 13 views
5

Jeśli element może być postrzegane przez człowieka, wszystkie z następujących musi być prawdą:wykryć, czy element jest naprawdę widoczny

Jednak nie obejmują one wszystkich przypadków. Na przykład, jednym z łatwych przypadków, o których myślę, jest to, że jeśli element znajdzie się poza jednym z widocznych obszarów jego przodków, a przodek ma styl overflow: hidden, element ten nie będzie widoczny.

Wszelkie istniejące przykłady/wtyczki jQuery/etc. które obejmują większość (jeśli nie wszystkie) możliwości?

+4

Jaki jest rzeczywisty problem, jesteś tryi ng do rozwiązania? Co robisz inaczej, jeśli obiekt jest widoczny, czy nie? – jfriend00

+1

Co z widocznym obiektem całkowicie zakrywającym cel? Czy uważasz, że jest to widoczne? – nneonneo

+0

Próbowałem znaleźć rozwiązanie dla tego samego problemu w przeszłości, ale nie powiodło się. Problem, który chciałem rozwiązać, to rozpoczęcie animacji, gdy element canvas HTML5 został "odsłonięty". "Naprawiłem" to po prostu zapętlając animację. – Adam

Odpowiedz

2

Nie można wykryć, czy element jest widoczny dla człowieka, czy nie. Oto kilka innych przypadków nie może obejmować:

  1. kolejna zakładka przeglądarka jest otwarta
  2. inna aplikacja ukrywa okno przeglądarki
  3. monitor jest wyłączony
  4. użytkownik ma zamknięte oczy . .. itp

[koniec ironii]

+1

lub jeśli element ma styl taki jak "left: -999px" –

+2

lub pozycjonowanie układa wiele elementów na siebie z tym samym z-index –

Powiązane problemy