0

フレームがあり、「ポップアップフレーム」の外側をクリックしてフレームを閉じたり非表示にしたりしたい。次のコードは要素を示しています。

<span class="frame" id="mapframe">
   <iframe src="link" frameborder="0" width="520" height="470">
   </iframe>
</span>

上記のコードは、私がフレームを閉じようとしている方法です。

$(document).bind('click', function(e){ 
      var $clicked = $(e.target); 
      if (!($clicked.is('#mapframe') || $clicked.parents().is('#mapframe'))) { 
         $("#mapframe").hide();
      }
});

1つのフレームだけを開いたときに機能しますが、2つ以上のフレームがある場合は、すべてのフレームを閉じるわけではありません。その外側のクリックがあるとき、それは最後のフレームを閉じることになっていた。フレームのスタックがあるようです。外側をクリックするたびにスタックをポップしたいと思います:)

前もって感謝します!

4

2 に答える 2

0

すべてのフレームを閉じるには、idではなくクラスで選択してみてください。Idは1つのセレクター用であり、クラスはそれらすべてを閉じます。

$('.frame').hide();
于 2012-10-14T23:46:25.980 に答える
0

IDの代わりにフレームクラスを使用して、それらをすべて閉じます。$('。frame')。close()がこれを行います。1つを開いたままにする必要がある場合は、他のユーザーが閉じた後で、ユーザーがthisキーワードをクリックして開くことができます。

于 2012-10-14T23:47:53.493 に答える