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

时间:2013-12-11 17:28:16

标签: javascript jquery fancybox-2

我需要使用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使用相同的。

1 个答案:

答案 0 :(得分:0)

您可以使用此设置设置一个对象,用于所有fancyBox调用:

var fancyBoxDefaults = 
{
    helpers: {
        overlay: {
            locked: false
        }
    }
};
$(".fancybox1").fancybox(fancyBoxDefaults);
$(".fancybox2").fancybox(fancyBoxDefaults);

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

$(".fancybox3").fancybox($.extend(fancyBoxDefaults,{
    maxWidth: 800,
    maxHeight: 600
}));