如何更改函数中嵌入的变量的值?

时间:2014-03-11 18:11:08

标签: javascript

我正在使用弹出式日历javascript函数,该函数在我们的应用程序中使用。我有一个页面,它使用Bootstrap模式中的弹出窗口。

目前,如果用户必须向下滚动页面,然后打开模式,然后单击按钮调用日历弹出窗口,弹出日历“出现”在滚动上方(即:如果你保持模态打开并向上滚动,日历将完美排列。

我通过为调用日历窗口小部件($('#show_cal').click( function(){ $('div.calendar').css('position', 'fixed'); } );)的按钮声明一个额外的点击事件来攻击修复程序。我宁愿操纵基本日历设置,让日历div的格式为position:fixed

因此,鉴于以下JavaScript代码段(功能更多,但可能不相关),如何将s.position重新定义为“固定”(而不是“绝对”)?

    Calendar.prototype.showAtElement = function (el, opts) {
            function fixPosition(box) {
                    var cp = document.createElement("div");
                    var s = cp.style;
                    s.position = "absolute";
            };
    };

1 个答案:

答案 0 :(得分:1)

如果您无法访问代码,那么唯一的方法是定义Calendar,因此您可以替换该值,以使用新的功能覆盖该功能,从而实现您想要的功能。添加以下AFTER日历已定义,但在使用showAtElement方法之前:

Calendar.prototype.showAtElement = function (el, opts) {
        function fixPosition(box) {
                var cp = document.createElement("div");
                var s = cp.style;
                s.position = "fixed";
        };
};