? Hay un par de maneras en que puedo hacer esto (que yo sepa).¿Cuál es la mejor manera de probar un elemento en DOM
Prueba de pantalla css
if ($('#foo').css('display') == 'none')
prueba la visibilidad
if ($('#foo').is(':visible'))
En la visibilidad puedo comprobar si el elemento está ahí.
Los elementos se consideran visibles si consumen espacio en el documento. Los elementos visibles tienen un ancho o una altura que es mayor que cero.
Elementos con visibilidad: oculta u opacidad: 0 se consideran visibles, ya que aún consumen espacio en el diseño.
embargo, cabe destacar que tanto en que no puedo probar la visibilidad (por el usuario) porque:
Ocultación de un elemento se puede hacer mediante el establecimiento de la propiedad de presentación a "none" o la propiedad de visibilidad a "hidden". Sin embargo, observe que estos dos métodos producen resultados diferentes:
visibilidad: oculto esconde un elemento, pero todavía tendrá el mismo espacio como antes. El elemento estará oculto, pero aún afectará el diseño .
pantalla: ninguno oculta un elemento, y no ocupará espacio. El elemento se ocultará y se mostrará la página como si el elemento no está ahí:
Así que en ninguno de los ejemplos que prueba si el elemento es visible en todos los sentidos para el usuario.
Así que mi pregunta es:
- żQué las diferencias entre los códigos de dos si es desde arriba?
- ¿Cuál es la mejor manera de probar si un elemento es visible para el usuario:
qué tengo que usar algo como:
if ($('#foo').is(':visible') &&
$('#foo').css('opacity') > 0 &&
$('#foo').css('visibility') != 'hidden')
Ha intentado que el último bloque de código para ver si funciona? –
** 1. ** ¿Cuál es la mejor manera de probar si un elemento es visible para el usuario? >> '$ ('# foo'). is (': visible')' es la mejor manera de verificar si el elemento es visible para el usuario (es decir, se muestra) ** 2. ** ¿Cuáles son las diferencias entre el dos códigos if desde arriba? >> Has citado la diferencia entre, 'visible' y' display'. Entonces, ¿cuál es tu pregunta? –
¿Qué pasa con un elemento que es perfectamente visible pero tiene otro elemento colocado sobre él a través de 'z-index'? ¿Qué pasa si este div superior tiene un fondo opaco? ¿O uno transparente? ¿O una * parcialmente * transparente? ¿El elemento "debajo" se considera visible? – Jon