如何为助手设置默认(全局)选项?

Fre*_*ges 5 javascript jquery fancybox-2

我需要解决这篇文章中讨论的body元素和css overflow属性的问题: 当激活fancybox 2时,父页面上的滚动条会闪烁,导致内容向左移动然后向后移动

使用帮助helpers: {overlay: {locked: false}}程序选项修复了我的问题,但我需要一个解决方案来为所有Fancybox调用设置此选项,这样我就不需要在每次调用时都使用此设置.

我尝试了不同的形式,但不起作用:

$.fancybox.open([{
    helpers: {
        overlay: {
            locked: false
        }
    }
}]);

$.extend($.fn.fancybox.helpers, {
    overlay: {
        locked: false
    }
});

$.fn.fancybox.defaults.overlay.locked = false;
Run Code Online (Sandbox Code Playgroud)

我不想更改css组件,因为目前使用相同的通过Bower.

Gav*_*now 0

您可以使用此设置来设置一个对象,并在所有 fancyBox 调用中使用该对象:

var fancyBoxDefaults = 
{
    helpers: {
        overlay: {
            locked: false
        }
    }
};
$(".fancybox1").fancybox(fancyBoxDefaults);
$(".fancybox2").fancybox(fancyBoxDefaults);
Run Code Online (Sandbox Code Playgroud)

如果您需要为任何特定的 fancyBox 设置设置,您可以扩展该对象:

$(".fancybox3").fancybox($.extend(fancyBoxDefaults,{
    maxWidth: 800,
    maxHeight: 600
}));
Run Code Online (Sandbox Code Playgroud)