有锚点的链接页面刷新的问题

  最近在做一个AIP页面的文档,基本左边都是锚点链接,右边是具体的API。程序告诉我点击左边的锚点右边可以跳转,但是刷新的时候会回到顶部。之后我查了下,可以用hash获取跳转的锚点。再用jquery animate重新滚动到当前页面即可。

  

1 $(function(){
2    var anchor = window.location.hash;//获取地址#后的内容
3    var subanchor=  anchor.substr(1);//去掉#号;
4    var top = $("#"+subanchor).offset().top;//获取ID距离顶部距离
5    $("body,html").animate({
6        scrollTop:top 
7    },0); 
8 })
View Code

 

  然后发现这么写有些BUG,比如没有考虑页面顶部的高度,跳转并不精准,关键不同浏览器还有1px的差距。然后再次修改代码:

 

1 if(window.location.hash.length>0){//判断是否有锚点,否则页面一直刷新
2     window.location.href=window.location.href;   
3 }
View Code

 

 搞定!

 

转载于:https://www.cnblogs.com/smallstone-important/p/4981729.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值