添加了 Fancybox2 不需要的 fancybox-margin class
Fancybox2 unwanted fancybox-margin class added
当我点击一个 ajax fancybox 时,我有一个加载器叠加层显示。
但总有一个 fancybox class 添加到它。
这里是 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');
}
});
当您点击 link,在结果中显示来源时,添加了一个 fancybox-margin
。
这个class只有在.loading
元素有position:fixed
的时候才添加
有什么方法可以告诉 fancybox 不要添加这个 class?
只能通过修改源码。删除这些行 (1833-1835):
$('*').filter(function(){
return ($(this).css('position') === 'fixed' && !$(this).hasClass("fancybox-overlay") && !$(this).hasClass("fancybox-wrap") );
}).addClass('fancybox-margin');
你可以看看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 文件并与检查器一起玩,看看它的作用。
您不需要破解原始的 fancybox js 文件。如果你这样做,你将不得不在更新新版本的那天再次这样做。
只需添加给你自定义的fancybox初始化脚本选项
helpers: {
overlay: {
locked: false
}
}
并且classfancybox-margin
不会被添加
当我点击一个 ajax fancybox 时,我有一个加载器叠加层显示。 但总有一个 fancybox class 添加到它。
这里是 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');
}
});
当您点击 link,在结果中显示来源时,添加了一个 fancybox-margin
。
这个class只有在.loading
元素有position:fixed
有什么方法可以告诉 fancybox 不要添加这个 class?
只能通过修改源码。删除这些行 (1833-1835):
$('*').filter(function(){
return ($(this).css('position') === 'fixed' && !$(this).hasClass("fancybox-overlay") && !$(this).hasClass("fancybox-wrap") );
}).addClass('fancybox-margin');
你可以看看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 文件并与检查器一起玩,看看它的作用。
您不需要破解原始的 fancybox js 文件。如果你这样做,你将不得不在更新新版本的那天再次这样做。
只需添加给你自定义的fancybox初始化脚本选项
helpers: {
overlay: {
locked: false
}
}
并且classfancybox-margin
不会被添加