使用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
}