怎么判断页面离开锚点位置

Charles杨 2016-07-02 04:46:25
$(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类
}
}
})
...全文
276 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
木头海上漂 2016-07-12
  • 打赏
  • 举报
回复
var d =document.getElementById('x'); var top=0; while(d.parentNode!=null) { top=top+d.offsetTop; d=d.parentNode; } document.body.addEventListener('scroll',function(){ if(this.scrollTop+this.offsetHeight==top) alert('弹出窗口'); });
草原上的奶牛 2016-07-12
  • 打赏
  • 举报
回复
使用jQuery-One-Page-Nav插件吧。 https://davist11.github.io/jQuery-One-Page-Nav/
Charles杨 2016-07-12
  • 打赏
  • 举报
回复
引用 3 楼 showbo 的回复:
这种?jquery实现章节目录效果,判断锚点是否在可见范围即可
看不懂,
Go 旅城通票 2016-07-03
  • 打赏
  • 举报
回复
这种?jquery实现章节目录效果,判断锚点是否在可见范围即可
scscms太阳光 2016-07-02
  • 打赏
  • 举报
回复
//加上定时器,以防卡死
//以网页中线为基线,锚点在屏幕上半部分的就让其添加导航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);
});

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧