ページ上部のバナーに、画面上にいくつかの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");
}