Si un elemento puede ser visto por el ser humano, con todos los siguientes deben ser verdaderas:Detectar si un elemento es realmente visible
jQuery(elem).is(':visible')
vuelvetrue
. In jQuery 1.3.2+, an element is visible if its browser-reported offsetWidth or offsetHeight is greater than 0.visibility
estilo no eshidden
.opacity
estilo no es0
.
Sin embargo, estos no cubren todos los casos. Por ejemplo, un caso fácil que puedo pensar es, si un elemento cae fuera de una de las áreas visibles de sus antepasados y ese antepasado tiene un estilo overflow: hidden
, entonces el elemento no se puede ver.
Cualquier plugin de ejemplos/jQuery existentes/etc. que cubren la mayoría (si no todas) de las posibilidades?
¿Cuál es el problema real que está tryi ng para resolver? ¿Qué haces diferente si un objeto es visible o no? – jfriend00
¿Qué pasa con un objeto visible que cubre por completo el objetivo? ¿Lo consideras visible entonces? – nneonneo
He tratado de encontrar una solución para este mismo problema en el pasado, pero he fallado. El problema que quería resolver era comenzar una animación cuando un elemento canvas de HTML5 estaba "expuesto". Lo "arreglé" simplemente haciendo un bucle en la animación. – Adam