关于javascript jQuery 检测Div是否可见的

JQuery: if div is visible

本问题已经有最佳答案,请猛点这里访问。

我使用JS来改变我正在创建的SPA的内容。当我按下按钮更改内容时,HTML将从此处更改:

1
 

对此:

1
 

现在,SPA的一部分有一个DIV,它包含许多复选框,每个复选框代表一个DIV,所以当我按下提交按钮时,应该显示的下一个DIV将是所选复选框列表中的第一个项目。

我想知道jquery中是否有一种方法可以让代码"几乎检测"出哪个DIV现在可见。像这样:

1
2
3
if($('#selectDiv').isVisible()){
    //JS code associated with this div.
}

有什么建议吗?


您可以使用.is(':visible')

Selects all elements that are visible.

例如:

1
if($('#selectDiv').is(':visible')){

此外,还可以通过以下方式获得可见的DIV:

1
$('div:visible').callYourFunction();

活生生的例子:

1
2
console.log($('#selectDiv').is(':visible'));
console.log($('#visibleDiv').is(':visible'));
1
2
3
#selectDiv {
  display: none;  
}
1
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">