1.锚点跳转简介
Edit
锚点其实就是可以让页面定位到某个位置上的点。在高度较高的页面中经常见到。比如百度的百科页面,wiki中的page内容。 我知道实现锚点的跳转有两种形式,一种是a标签+name属性;还有一种就是使用标签的id属性。百度百科就是使用a标签的name属性来实现锚点跳转的。 比如: <a href=”#2”>波轮洗衣机介绍</a> <a name=”2”></a>
但是上种方法使用了一个空标签,而且有时候会出现锚点失效。所以建议采用id来绑定锚点,代码如下: <a href=”#2”>波轮洗衣机介绍 <h2 id=”2”>波轮洗衣机介绍</h2>
2.含锚点跳转的URL地址
Edit
【1】关于# 在页面的制作中,”#”的符号很常见,并且具有通用性。基本上,其表示的含义是id选择符。例如:CSS中#header{}就表示id为header的标签的样式如何;在jQuery中,$(“#header”)表示选择id为header的标签为JQuery对象;同样的,在页面的URL中,”#”也可以理解为id选择符之意,也就是页面跳转到含URL指向的id的标签处。 例如输入一个地址 http://baike.baidu.com/view/121416.htm?pf=1#3 这个地址中末尾有个”#”,这个就相当于告诉浏览器要跳转了,#后面跟着的3表示会在http://baike.baidu.com/view/121416.htm?pf=1 的页面中寻找符合”#3”特点的标签,并且执行跳转。 【2】关于空锚点指向 如果URL中的”#”后面跟随的字符id在文中找不到,就会有两种情况:如果是在当前页面,除了URL地址变化了,其它的不会改变,页面不会有跳转;如果是从其它页面跳转过来,则页面会在顶部显示,”#”基本就是聋子的耳朵——摆设。 3.JQuery下锚点的平滑跳转
Edit
对于锚点的平滑跳转,在一般的商业性质的网站上,权衡来说,要谨慎使用。 例如:让页面平滑滚动到一个id为box的元素处,则JQuery代码只要一句话,关键位置 如下: $(“html,body”).animate({scrollTop:$(“#box”).offset().top},1000)
其中animate为JQuery的自定义动画方法,$(“#box”).offset().top表示id为box的JQuery对象距离页面顶部的偏移值,1000表示平滑动画执行的时间为1000毫秒,也就是1秒。 4.IE下锚点刷新失效及JQuery下的解决
Edit
【1】关于锚点刷新失效 锚点刷新失效就是指当按下刷新键F5时,即使此时URL的后面就随锚点,此锚点也是不起作用的。 【2】在JQuery中,不难实现。可以根据URL获取锚点,从而进一步获得对应锚点对象,然后再让页面的滚动高度为其距离页面顶部的偏移值就可以了。使得页面无论是重新载入还是其刷新,其后面的锚点都起作用。 其js代码如下: $(function(){
var url = window.location.toString();
var id = url.split(“#”)[1];
if(id){
var t = $(“#”+id).offset().top;
$(window).scrollTop(t);
}
});

原网址https://www.cnblogs.com/zst062102/p/6404705.html  谢谢

最新文章

  1. asp.net mvc 验证码
  2. JavaScript 经典实例收集整理
  3. F7控件
  4. Javascript this 关键字
  5. 用Delphi实现文件关联
  6. [转载]ASP.NET MVC 3的分部视图
  7. 关于php程序员 解决问题的能力
  8. javascript-智能社-JS基础A笔记
  9. A10 平板开发二搭建Android开发环境
  10. node 学习(一)
  11. 微信小程序复选框实现 多选一功能
  12. .gvfs: Permission denied
  13. Android 如何解决dialog弹出时无法捕捉Activity的back事件
  14. $Django 聚合函数、分组查询、F,Q查询、orm字段以及参数
  15. SpringMVC + MyBatis + Mysql + Redis(作为二级缓存) 配置
  16. cdh 安装调研
  17. 11G新特性 -- Multicolumn Statistics (Column groups)
  18. NYOJ 737:石子合并(一)(区间dp)
  19. js类的继承
  20. 【vue知识点】2)vue登录认证

热门文章

  1. Spring中Mybatis的花样配置 及 原理
  2. 【Android开发坑系列】之窗口管理
  3. Elasticsearch模糊查询
  4. ASP.NET CORE 中用单元测试测试控制器
  5. 【CFD之道】2018年原创文章汇总
  6. [转]Mybatis foreach 批量操作
  7. Android Studio打包程序时出现transformClassesWithDexForRelease错误
  8. Git进阶用法
  9. 【python】——python3 与 python2 的那些不兼容
  10. Tensorflow 与Caffe(转)