2010-01-17 12 views
18

estoy tratando tratando de averiguar si una pantalla de estilo div es el bloque y luego hacer algo aquí es un ejemplodiv si el bloque jQuery

esto es sólo una conjetura YO SOY tryng hacerlo en jQuery

if("#toshow":"display" == "block"){ 

}else{ 

} 

Respuesta

39

Así que quieres distinguir entre display: block y display: none? Si es así, puede utilizar mejor la función is() en combinación con el selector :visible para esto:

if ($('#toshow').is(':visible')) { 

} else { 

} 

Esto funciona independientemente de si se ha utilizado display: block, o display: inline o display: inline-block.

+3

no creo que esto funciona si un elemento padre está oculto. –

+0

@Dustin: No estoy seguro de por qué estás publicando un comentario como este, aunque es muy sencillo experimentarlo tú mismo. Si tiene un problema con este caso específico, es causado en otro lugar. – BalusC

+2

Bien, pongámoslo de esta manera. Esto funcionará si quieres saber si el div está actualmente visible. Esto no funcionará si quieres saber si el div es un bloque (la pregunta original, que también me llevó a esta pregunta de stackoverflow de una búsqueda de Google). En mi caso, quería saber si un div (actualmente oculto) iba a estar oculto cuando revelé el div principal. http://jsfiddle.net/ejVvu/1/ como puede ver, esta respuesta no funcionará para verificar si un div tiene un atributo de bloque (la pregunta original). Entonces, +1 para una solución "mejor" para el actual visibilidad, pero no la respuesta a la pregunta. –

15

Necesita usar la función css.

if($("#toshow").css("display") == "block"){ 

}else{ 

} 
4

No olvide su selector :visible.

if ($("#toshow:visible").length) { 
    // it's visible 
} else { 
    // it's not visible 
} 
4
$(document).ready(function(){ 
    if ($('#toshow').css('display') == 'block') { 
     // Do something. 
    } else { 
     // Do something else. 
    } 
}); 

debe hacer el truco.

0

Esta opción funcionó a la perfección. Soy brasileño y tuve que traducir el texto, pero cuando vi el código inmediatamente vi que era la opción correcta.

function reversoObjeto() { 
 
    $('#janela').fadeToggle(500, function(e) { 
 
    if ($("#janela").css("display") == "none") { 
 
     alert("Janela Apagou!"); 
 
    } else { 
 
     alert("Janela Acendeu!"); 
 
    } 
 
    }) 
 
}