当我点击ajax fancybox时,我显示了一个加载器覆盖图。 但是总会添加一个fancybox类。
这是fiddle。
<div class="loading hide">Loading…</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不要添加这个类?
答案 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文件,然后和督察一起看一下这首先做的事情。