我正在使用弹出式日历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";
};
};
答案 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";
};
};