87,922
社区成员
发帖
与我相关
我的任务
分享
$(window).scroll(function(){
//为页面添加页面滚动监听事件
var wst = $(window).scrollTop(); //滚动条距离顶端值
for (i=1; i<7; i++){ //加循环
if($("#a"+i).offset().top<=wst){ //判断滚动条位置
$('#nav a').removeClass("c"); //清除c类
$("#a"+i+i).addClass("c"); //给当前导航加c类
}
}
})
//加上定时器,以防卡死
//以网页中线为基线,锚点在屏幕上半部分的就让其添加导航c类
function fun(){
var half = document.documentElement.clientHeight/ 2;//屏幕中线
for (var i = 1; i < 7; i++){ //加循环
if($('#a'+ i)[0].getBoundingClientRect().top > half){
break;
}
}
$('#nav a').removeClass("c"); //清除c类
$('#a'+ i).addClass("c"); //给当前导航加c类
}
var setTime = null;
$(window).scroll(function(){
clearTimeout(setTime);
setTime = setTimeout(function(){fun()},30);
});