【问题标题】:How can I set default (global) options for helpers?如何为助手设置默认(全局)选项?
【发布时间】:2013-12-11 17:28:15
【问题描述】:

我需要解决这篇文章中讨论的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绑定到不同的选择器?
  • @JFK 是的,适用于许多不同的选择器。

标签: javascript jquery fancybox-2


【解决方案1】:

您可以使用您在所有 fancyBox 调用中使用的此设置设置一个对象:

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

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

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

【讨论】:

    猜你喜欢
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-16
    • 1970-01-01
    • 2023-04-11
    相关资源
    最近更新 更多