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

标签 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 使用相同的组件。

最佳答案

您可以使用您在所有 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/

相关文章:

javascript - 在 wordpress 中添加外部 javascript 文件

jquery - 为什么我不能选择 use .play() 使用 jQuery 选择视频?

javascript - Jquery Fancybox 如何添加额外的导航按钮?

jquery - Fancybox 2.1加载AJAX模板时顶部留有较大间隙,但当我以其他方式使用Fancybox时不会出现此问题

javascript - 使用 JavaScript 关键字名称执行函数

javascript - 删除非 SVG slider

javascript - 如何在遍历对象时为 setTimeout 参数设置固定时间偏移

javascript - 使用 NPM 管理文件依赖关系

jquery - Fancybox错误: prev and next areas have black background on hover

javascript - 为什么filestream函数没有结束