メインのjsファイルでいくつかの関数を実行していますが、そのうちの1つに2行追加すると、このエラーが表示されます。奇妙なことに、エラーは、呼び出されている関数とはまったく関係のない他の関数の1つにある変数を参照しています。
これが私が変更した関数です:
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ステートメントにあり、「」で始まる2つの追加行を指摘しましたleftWrapper.style.height
。ちなみに、eMainContent要素はすべてのページに表示されますが、leftWrapper要素は特定のページにのみ表示され、エラーはleftWrapperが存在しないページにのみ表示されます。
これが問題の原因だと思います。特定のページに存在しない要素に対して要求したアクションを実行できないため、JavaScriptが反転します。
これが問題であると仮定して、このエラーを軽減するためにこれを書き直して、それが存在するページのleftWrapperを変更するにはどうすればよいですか?