[英]Uncaught TypeError: Cannot read property 'top' of undefined
對不起,我的英語不好,但是我有一個問題。
這是我收到的消息:
Uncaught TypeError: Cannot read property 'top' of undefined
這是我的功能:
function onScroll(event){
var scrollPos = $(document).scrollTop();
$('#menu-center a').each(function () {
var currLink = $(this);
var refElement = $(currLink.attr("href"));
if (refElement.position().top<= scrollPos && refElement.position().top + refElement.heig
ht() > scrollPos) {
$('#menu-center ul li a').removeClass("active");
currLink.addClass("active");
}
else{
currLink.removeClass("active");
}
});
}
我不明白,因為我在本地還有另一個頁面可以使用此功能,而且效果很好。
我已經在網上搜索了,但沒有與我的問題相對應的內容。
謝謝你的幫助
更改此行: var refElement = $(currLink.attr("href"));
在此行中: var refElement = $(currLink).attr("href");
我找到了上述問題的解決方案。 請參閱以下代碼段
jQuery(document).ready(function($) {
$(document).on("scroll", onScroll);
});
function onScroll(event){
var scrollPos = $(document).scrollTop();
$('#menu-center a').each(function () {
var currLink = $(this);
var refElement = currLink.attr("href");
var splitEle = refElement.split('#');
if ($("#"+splitEle[1]).offset().top <= scrollPos && $("#"+splitEle[1]).offset().top + $("#"+splitEle[1]).height() > scrollPos) {
$('#menu-center ul li').removeClass("active");
currLink.parent().addClass("active");
}else{
currLink.parent().removeClass("active");
}
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.