JQuery简单实现锚点链接的平滑滚动


Posted in Javascript onMay 03, 2015

一般使用锚点来跳转到页面指定位置的时候,会生硬地立即跳转到指定位置,但是有些时候我们想要平滑地过渡到指定的位置,那么可以使用JQuery简单的实现这个效果:

比如,这里我们将通过点击<a>标签跳转到 id为content的指定位置那里。

<a id="turnToContent" href="#content"></a>

然后呢,就在我们想要的位置设置id为content的内容块,这里用一个div模拟一篇不像文章的文章。最好将此div放在靠后的位置,这样效果就很明显一点,如果只是测试一下这个效果,可以用简单粗暴的方法,在其前面放很多个<p>标签即可。

<div id="content">
<h2>
<a href="###">HTML5</a>
</h2>
<p>
html5html5html5
</p>
<p class="addMes">标签: <span>HTML5</span><small>2015年4月19日</small></p>
</div>

最后就是用JQuery来实现平滑过渡的效果了:

$('#turnToContent').click(function () {
$('html, body').animate({
scrollTop: $($.attr(this, 'href')).offset().top
}, 500);
return false;
});

搞定了!

下面我们来继续改进一下,

$(function(){  
  $('a[href*=#],area[href*=#]').click(function() {
    if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
      var $target = $(this.hash);
      $target = $target.length && $target || $('[name=' + this.hash.slice(1) + ']');
      if ($target.length) {
        var targetOffset = $target.offset().top;
        $('html,body').animate({
          scrollTop: targetOffset
        },
        1000);
        return false;
      }
    }
  });
})

改进后的代码的好处是点击锚点链接平滑滚动到锚点,并且浏览器URL后缀不带有锚点字样,使用的过程中基本不用修改以上代码即可实现。

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
一段利用WSH获取登录时间的jscript代码
May 11 Javascript
JSDoc 介绍使用规范JsDoc的使用介绍
Feb 12 Javascript
js 实现css风格选择器(压缩后2KB)
Jan 12 Javascript
Fixie.js 自动填充内容的插件
Jun 28 Javascript
js获取php变量的实现代码
Aug 10 Javascript
jquery ajax 简单范例(界面+后台)
Nov 19 Javascript
JS简单实现多级Select联动菜单效果代码
Sep 06 Javascript
使用JQuery FancyBox插件实现图片展示特效
Nov 16 Javascript
移动端使用localResizeIMG4压缩图片
Apr 22 Javascript
Vue中使用的EventBus有生命周期
Jul 12 Javascript
详解处理bootstrap4不支持远程静态框问题
Jul 20 Javascript
如何安装控制器JavaScript生成插件详解
Oct 21 Javascript
jQuery中 attr() 方法使用小结
May 03 #Javascript
浅谈被jQuery抛弃的函数及替代函数
May 03 #Javascript
jQuery的几个我们必须了解的特点
May 03 #Javascript
jQuery的css() 方法使用指南
May 03 #Javascript
面向切面编程(AOP)的理解
May 01 #Javascript
yui3的AOP(面向切面编程)和OOP(面向对象编程)
May 01 #Javascript
使用AOP改善javascript代码
May 01 #Javascript
You might like
地摊中国 - 珍藏老照片
2020/08/18 杂记
PHP 判断常量,变量和函数是否存在
2009/04/26 PHP
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
php 定义404页面的实现代码
2012/11/19 PHP
Smarty环境配置与使用入门教程
2016/05/11 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
2016/09/11 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
PHP中遍历数组的三种常用方法实例分析
2019/06/24 PHP
在chrome中window.onload事件的一些问题
2010/03/01 Javascript
js Date概念详细介绍
2013/11/22 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
2014/05/28 Javascript
使用pjax实现无刷新更改页面url
2015/02/05 Javascript
javascript拖拽应用实例
2016/03/25 Javascript
vue之数据交互实例代码
2017/06/20 Javascript
使用原生js+canvas实现模拟心电图的实例
2017/09/20 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
2017/12/10 Javascript
微信小程序实现日历功能
2018/11/27 Javascript
vue项目中极验验证的使用代码示例
2019/12/03 Javascript
Python字典及字典基本操作方法详解
2018/01/30 Python
Python实现购物车购物小程序
2018/04/18 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
2018/12/04 Python
Python3爬虫全国地址信息
2019/01/05 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
2019/08/13 Python
python安装scipy的步骤解析
2019/09/28 Python
python爬虫调度器用法及实例代码
2020/11/30 Python
CSS3实现超慢速移动动画效果非常流畅无卡顿
2014/06/15 HTML / CSS
世界领先的以旅馆为主的在线预订平台:Hostelworld
2016/10/09 全球购物
好的自荐信包括什么内容
2013/11/07 职场文书
家长评语大全
2014/01/22 职场文书
制冷与空调专业毕业生推荐信
2014/07/07 职场文书
2015年宣传部工作总结范文
2015/03/31 职场文书
离职员工给领导和同事的感谢信
2015/11/03 职场文书
2016年大学光棍节活动总结
2016/04/05 职场文书
导游词之澳门玫瑰圣母堂
2019/12/03 职场文书
微信小程序中wxs文件的一些妙用分享
2022/02/18 Javascript
联想win10摄像头打不开怎么办?win10笔记本摄像头打不开解决办法
2022/04/08 数码科技