使用jquery检测div是否可见

使用jquery检测div是否可见,jquery,css,Jquery,Css,我试图确定特定的可见性,但我的检查总是将其显示为可见。我正在使用以下代码: if($('.stg_gall_cro_cnt').is(":visible")) { var visi="yes"; } else { var visi="no"; } alert(visi); 每次运行此检查时,警报都会显示“是”,即使不可见。有人能帮忙吗 .stg\u gall\u cro\u cnt的css默认设置为: visibility:hidden; 选择器仅匹配渲染文档中不占用空间的

我试图确定特定
的可见性,但我的检查总是将其显示为可见。我正在使用以下代码:

if($('.stg_gall_cro_cnt').is(":visible")) {
    var visi="yes";
} 
else {
    var visi="no";
}
alert(visi);
每次运行此检查时,警报都会显示“是”,即使
不可见。有人能帮忙吗

.stg\u gall\u cro\u cnt
的css默认设置为:

visibility:hidden;
选择器仅匹配渲染文档中不占用空间的元素。
visibility
设置为
hidden
的元素占用空间,因此jQuery认为它们是可见的

您需要在CSS中设置
display:none
,以使用
is(':visible')
实现所需效果,或者在jQuery中使用
CSS('visibility')=='hidden'
来实现它,使用
visibility:hidden

选择器仅匹配渲染文档中不占用空间的元素。
visibility
设置为
hidden
的元素占用空间,因此jQuery认为它们是可见的

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

您需要在CSS中设置
display:none
,以使用
is(':visible')
或使用
CSS('visibility')实现所需效果==='hidden'
在jQuery中使用可见性来完成它:hidden

@SakshiSharma wanovak的答案显示如何测试元素是否占用空间但不可见。@SakshiSharma wanovak的答案显示如何测试元素是否占用空间但不可见。可见性:hidden或不透明:0的元素被视为可见,因为它们仍然占用布局中的空间。可见性为:隐藏或不透明度为0的元素被视为可见,因为它们仍然占用布局中的空间。
if($('.stg_gall_cro_cnt').css('visibility') === 'hidden'){
    // hidden
}else{
    // visible
}