通过单击元素外部来关闭或隐藏多个框架

时间:2012-10-14 23:39:39

标签: javascript html

我有框架,我想通过点击“弹出框架”外面来关闭或隐藏它们。以下代码显示了元素。

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

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

提前致谢!

2 个答案:

答案 0 :(得分:0)

要关闭所有帧,请尝试按类而不是ID进行选择。 Id适用于一个选择器,类将关闭它们。

$('.frame').hide();

答案 1 :(得分:0)

使用框架类而不是ID来关闭它们。 $('。frame')。close()将执行此操作。如果您需要保持一个打开,如用户可能单击的那个,请使用this关键字在其他关闭后打开它。