使用jquery检测div是否可见

时间:2012-08-11 03:07:27

标签: jquery css

我正在尝试确定特定<div>的可见性,但我的检查始终将其显示为可见。我使用以下代码:

if($('.stg_gall_cro_cnt').is(":visible")) {
    var visi="yes";
} 
else {
    var visi="no";
}
alert(visi);

每次执行此检查时,即使<div>不可见,警报也会显示“是”。有人可以帮忙吗?

.stg_gall_cro_cnt的css默认设置为:

visibility:hidden;

2 个答案:

答案 0 :(得分:3)

if($('.stg_gall_cro_cnt').css('visibility') === 'hidden'){
    // hidden
}else{
    // visible
}

答案 1 :(得分:2)

:visible选择器仅匹配在渲染文档中不占空间的元素。 <{1}}设置为visibility的元素占用空间,因此jQuery认为它们可见。

您需要在CSS中设置hidden以使用display: none达到预期效果,或在jQuery中使用is(':visible')css('visibility') == 'hidden'完成此操作。