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();
      }
});

仅打开一帧时它可以工作,但如果有两个以上的帧,它不会关闭所有帧。当外面有点击时,它应该关闭最后一帧。看起来有一堆框架,我想在每次点击外部时弹出堆栈:)

提前致谢!

4

2 回答 2

0

要关闭所有框架,请尝试按类而不是 id 选择。Id 用于一个选择器,类将关闭它们。

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

使用框架类而不是 ID 将它们全部关闭。$('.frame').close() 会这样做。如果您需要保持一个打开,就像用户可能单击的那样,在其他关闭后使用 this 关键字打开它。

于 2012-10-14T23:47:53.493 回答