jquery - Comprobando la visibilidad de un elemento
if-statement scrollto (3)
Esta pregunta ya tiene una respuesta aquí:
Quiero comprobar si un elemento es visible y, en caso afirmativo, quiero desplazarme hacia abajo. Estoy tratando de lograr eso con el siguiente jquery:
var j = jQuery.noConflict();
jQuery(document).ready(function($) {
if(j(''#element'').css(''display'') == ''block''){
j(''body'').scrollTo(''#target'');
};
});
Pero no funciona.
Tratar:
if($(element).is(":visible"))
Consulte esta publicación: ¿Cómo puedo verificar si un elemento está oculto en jQuery?
// jQuery no conflict mode
var j = $.noConflict();
// retain meaning of jQuery''s handle (optional but makes it
// sometimes easier if you don''t use one-letter assignments
// of jQuery)
(function($){
// document read
$(function(){
// if element is visible (a visible #element was found)
if $(''#element:visible'').size() > 0){
// scroll to #target
$(''body'').scrollTo(''#target'');
}
});
})(j);
:visible
hace más fácil. No puedes simplemente probar contra display==''block''
, también deberías probar para inline-block
y otros además de verificar la configuración de visibility
. Por ejemplo, el elemento podría tener display:block:visibility:hidden
que no lo hace :visible
.