К сожалению, я купил шаблон Wordpress без поддержки, и теперь я пытаюсь отлаживать его сам.Uncaught TypeError на тему Wordpress
Одной из ошибок, которые я не могу решить, является рекурсивная ошибка консоли JQuery. В частности, он срабатывает всякий раз, когда я прокручиваю с помощью мыши.
Uncaught TypeError: Cannot read property 'top' of undefined
Javascript код ошибки следующие:
jQuery(window).scroll(function(){
var windowPos = jQuery(window).scrollTop(); // get the offset of the window from the top of page
var windowHeight = jQuery(window).height(); // get the height of the window
var docHeight = jQuery(document).height();
for (var i=0; i < aArray.length; i++) {
if(aArray[i].indexOf("#") != -1) {
var theID = aArray[i].substr(aArray[i].indexOf("#"));
if (theID.length) {
var divPos = jQuery(theID).offset().top; // HERE IS THE ERROR, get the offset of the div from the top of page
var divHeight = jQuery(theID).height(); // get the height of the div in question
if (windowPos >= divPos && windowPos < (divPos + divHeight)) {
if(jQuery("a[href='" + theID + "']").length) {
jQuery("a[href='" + theID + "']").addClass("nav-active");
}
else if(jQuery("a[href='" + aArray[i] + "']").length) {
jQuery("a[href='" + aArray[i] + "']").addClass("nav-active");
}
} else {
if(jQuery("a[href='" + theID + "']").length) {
jQuery("a[href='" + theID + "']").removeClass("nav-active");
}
else if(jQuery("a[href='" + aArray[i] + "']").length) {
jQuery("a[href='" + aArray[i] + "']").removeClass("nav-active");
}
}
}
}
}
if(windowPos + windowHeight == docHeight) {
if (!jQuery("nav li:last-child a").hasClass("nav-active")) {
var navActiveCurrent = $(".nav-active").attr("href");
jQuery("a[href='" + navActiveCurrent + "']").removeClass("nav-active");
jQuery("nav li:last-child a").addClass("nav-active");
}
}
});
Пожары ошибок на линии var divPos = jQuery(theID).offset().top;
. Я добавил вручную if statement
, чтобы проверить, есть ли переменная theID
, а затем выполнить код, но все же ошибка запускается на консоли браузера.
можете ли вы 'console.log (theID)' быстро взглянуть на то, что это такое? – user3154108
Это был якорь элементов меню. Однако решение vlarsson заставило ошибку остановиться. Вероятно, мой 'if statement' был недостаточным. – Tasos