我需要修复这篇文章中讨论的 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 使用相同的组件。
最佳答案
您可以使用您在所有 fancyBox 调用中使用的此设置来设置一个对象:
var fancyBoxDefaults =
{
helpers: {
overlay: {
locked: false
}
}
};
$(".fancybox1").fancybox(fancyBoxDefaults);
$(".fancybox2").fancybox(fancyBoxDefaults);
如果您需要为任何特定的 fancyBox 设置设置,您可以扩展该对象:
$(".fancybox3").fancybox($.extend(fancyBoxDefaults,{
maxWidth: 800,
maxHeight: 600
}));
关于javascript - 如何为助手设置默认(全局)选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20525934/