我在页面顶部的横幅上有一个按钮,yui2
可以在屏幕上启动多个叠加层。每个叠加层都有一个关闭按钮(它只是将可见性更改为隐藏,以便可以重复使用)。启动叠加层后,横幅上还会出现一个按钮,如果单击该按钮将关闭所有叠加层。
这使用户可以选择关闭全部或单独关闭每个。这就是我坚持的:
如果用户关闭了单个覆盖,在我关闭覆盖后,我想检查是否有任何其他覆盖仍然打开。如果他们碰巧单独关闭了所有这些,那么我需要恢复顶部的横幅并删除“关闭所有按钮”。
我可以通过执行以下操作来搜索所有叠加层:
var elements = YAHOO.util.Dom.getElementsByClassName('test');
我想不出每次关闭覆盖时我需要执行的逻辑来查看该数组以查看如果隐藏所有这些都设置为可见性。如果是,则执行一个函数。如果页面上仍有任何可见的叠加层,则什么也不做。
这是我想出的答案。只是不确定它是否正确。
var elements = document.getElementsByClassName('test');
var visiblecounter = 0;
for (var i = 0; i < elements.length; i++) {
if(elements[i].style.visibility!='hidden'){
alert("not hidden");
visiblecounter ++;
}
}
if(visiblecounter > 0){
alert("all overlays are closed individually. you can remove close all button");
}