我需要使用body
元素和本文中讨论的css overflow
属性来解决问题:
When a fancybox 2 is activated, a scrollbar flashes on the parent page causing the content to shift left and then back
使用帮助程序选项helpers: {overlay: {locked: false}}
解决了我的问题,但我需要一个解决方案来为所有Fancybox调用设置此选项,这样我就不需要在每次调用时都使用此设置。
我尝试了不同的形式,但不起作用:
$.fancybox.open([{
helpers: {
overlay: {
locked: false
}
}
}]);
$.extend($.fn.fancybox.helpers, {
overlay: {
locked: false
}
});
$.fn.fancybox.defaults.overlay.locked = false;
我不想更改css组件,因为目前通过Bower使用相同的。
答案 0 :(得分:0)
您可以使用此设置设置一个对象,用于所有fancyBox调用:
var fancyBoxDefaults =
{
helpers: {
overlay: {
locked: false
}
}
};
$(".fancybox1").fancybox(fancyBoxDefaults);
$(".fancybox2").fancybox(fancyBoxDefaults);
如果您需要为任何特定的fancyBox设置设置,可以扩展该对象:
$(".fancybox3").fancybox($.extend(fancyBoxDefaults,{
maxWidth: 800,
maxHeight: 600
}));