将类应用于控制'next','previous'和'close'的Fancybox链接/按钮

时间:2015-05-17 03:50:23

标签: jquery html css fancybox fancybox-2

我正在使用以下jquery来关闭一个div,当没有单击“click”类时(对于空白空间和某些其他div)。

$(document).click(function (event) {
    if (!$(event.target).hasClass('click')) {
        $('#div').hide();
              }
});

我不想打开fancybox图库来关闭div(fancybox 2.1.5),所以我在我的html中将'click'类应用于与fancybox相关的所有内容。

<div class="fancybox_container click">
<a class="fancybox_gal click" rel="gallery" href="1s.jpg"><img src="1l.jpg" class="click"></a>
<a class="fancybox_gal click" rel="gallery" href="2s.jpg"><img src="2l.jpg" class="click"></a>
<a class="fancybox_gal click" rel="gallery" href="3s.jpg"><img src="3l.jpg" class="click"></a>
</div>

我可以点击任何图片而不隐藏div。但是,当我单击fancybox在图像上生成的“下一个”或“上一个”或“关闭”链接/按钮时,div将关闭。

我编辑了jquery.fancybox.js,将'click'类添加到那些按钮的href链接中,但是没有用。

如何将此类应用于这些链接?或者一些解决方法?

这是一个说明问题的FIDDLE

1 个答案:

答案 0 :(得分:2)

我认为这就是你要找的东西:

WORKING:DEMO更新

JS 更新

$(document).mouseup(function (e) /* it executes on mouse click anywhere on document*/
{
var container = $(".click, a, .fancyboc_gal, .fancybox_container, img"); /* all those div's or links on which if clicked should not close your behind div(#othercontent)*/

if (!container.is(e.target) /* Now Check that click you did is not on gallery  */
    && container.has(e.target).length === 0) // ... nor a descendant of the container
{
    $("#othercontent").hide();
}

});