我在我的主 js 文件中运行了几个函数,在其中一个中添加了两行后,出现了这个错误。奇怪的是,错误引用了其他函数之一中的变量,该变量与被调用的函数完全无关。
这是我更改的功能:
window.onresize = function(){
var timeOut = null;
if(timeOut != null) clearTimeout(timeOut);
setTimeout(expandWrapper, 500);
}
var expandWrapper = function(){
//var eContent = document.getElementById("content");
var eContent = document.getElementById("main-content");
var eMainContent = document.getElementById("column-1");
var elayoutArea = document.getElementById("layout-column_column-1");
var eFooter = document.getElementById("footer");
//var dScrollb = $(".dataTables_scrollBody");
var leftWrapper = document.getElementById("left-links-wrapper");
var contentEnd = eMainContent.clientHeight + eMainContent.offsetTop;
if(document.documentElement.clientHeight >= (eContent.offsetTop + elayoutArea.clientHeight + eFooter.clientHeight)){
eMainContent.style.height = document.documentElement.clientHeight - eContent.offsetTop - eFooter.clientHeight -1 + "px";
added line--> leftWrapper.style.height = document.documentElement.clientHeight - eContent.offsetTop - eFooter.clientHeight -1 + "px";
//console.log("primary condition");
} else {
eMainContent.style.height = ($(window).height()); //elayoutArea.clientHeight + "px";
added line-->leftWrapper.style.height = eMainContent.offsetHeight + "px";
//console.log("fallback");
}
}
我已经指出了两个添加的行,位于 if 语句中并以“ leftWrapper.style.height
”开头。顺便说一句,虽然 eMainContent 元素出现在所有页面上,但 leftWrapper 元素只出现在某些页面上,并且错误只出现在那些不存在 leftWrapper 的页面上。
我认为这就是问题所在:javascript 翻转,因为它无法执行我在特定页面上不存在的元素上请求的操作。
假设这是问题所在,我该如何重写它以缓解此错误,但在它存在的页面上修改 leftWrapper?