添加了Fancybox2不需要的fancybox-margin类

时间:2015-02-02 12:10:33

标签: jquery html fancybox fancybox-2

当我点击ajax fancybox时,我显示了一个加载器覆盖图。 但是总会添加一个fancybox类。

这是fiddle

<div class="loading hide">Loading&#8230;</div>
<a class="fancybox fancybox.ajax" href="http://fancyapps.com/fancybox/demo/1_b.jpg">
    click me
</a>

$('.fancybox').fancybox({
    beforeLoad: function () {
        $('.loading').removeClass('hide');
    },
    beforeShow: function () {
        $('.loading').addClass('hide');
    }
});

当您点击链接时,在结果上显示来源时,会添加fancybox-margin

仅当.loading元素具有position:fixed

时才会添加此类

有没有办法告诉fancybox不要添加这个类?

3 个答案:

答案 0 :(得分:2)

您不需要破解原始的fancybox js文件。如果您这样做,则必须在更新新版本的那一天再次执行此操作。

只需添加自定义fancybox初始化脚本选项

即可
helpers: {
    overlay: {
        locked: false
    }
}

并且 fancybox-margin无法添加

答案 1 :(得分:1)

仅修改来源。删除这些行(1833-1835):

                $('*').filter(function(){
                    return ($(this).css('position') === 'fixed' && !$(this).hasClass("fancybox-overlay") && !$(this).hasClass("fancybox-wrap") );
                }).addClass('fancybox-margin');

答案 2 :(得分:0)

您可以查看Fancybox代码并注释掉以下内容:

if (this.margin !== false) {
  $('*').filter(function(){
    return ($(this).css('position') === 'fixed' && !$(this).hasClass("fancybox-overlay") && !$(this).hasClass("fancybox-wrap") );
  }).addClass('fancybox-margin');

  this.el.addClass('fancybox-margin');
}

但要注意龙 - 我不知道这会对弹出窗口的位置产生什么影响。

你可能最好看一下css文件,然后和督察一起看一下这首先做的事情。