我没有错误
未捕获的TypeError:无法读取属性' top'未定义的
在这一行
if(scroll >= content.eq(0).offset().top - headertop)
完整的代码在这里
/* quickMenu */
//position of quickMenu
var t = $(window).height()/2 - $(".quickMenu").height()/2;
var headertop = $(".header").height();
$(".quickMenu").stop().animate({top:t + headertop},700,"linear");
//quickMenu li.on when window scrolls
$(window).scroll(function(){
var scroll = $(this).scrollTop();
var content = $(".mainWrap > .container > div");
var headertop = $(".header").height();
if(scroll >= content.eq(0).offset().top - headertop){//slide_banner
$(".quickMenu li").removeClass("on");
$(".quickMenu li").eq(0).addClass("on");
}
if(scroll >= content.eq(1).offset().top - headertop){//content1
$(".quickMenu li").removeClass("on");
$(".quickMenu li").eq(1).addClass("on");
}
if(scroll >= content.eq(2).offset().top - headertop){//content2
$(".quickMenu li").removeClass("on");
$(".quickMenu li").eq(2).addClass("on");
}
if(scroll >= content.eq(3).offset().top - headertop){//content3
$(".quickMenu li").removeClass("on");
$(".quickMenu li").eq(3).addClass("on");
}
}); //scroll
它必须在主页面上工作并且它工作得非常好但是,问题是当我移动到我的网站上的子页面时,它在子页面上保持未定义(但子页面上没有quickMenu)。 .. 我真的不知道为什么它会成为一个错误...... 和其他' offset()。top'没有任何错误.... 我希望有人可以帮助我.. !!
答案 0 :(得分:0)
很清楚为什么会发生这种情况。除主页(主页)外,所有视图都未定义内容变量。
var content = $(".mainWrap > .container > div");
您在所有子视图上都没有 .container 类,因此这个jQuery查找失败并且没有返回正确的元素。
只需检查子视图上的HTML,您就会看到问题。