JQuery简单实现锚点链接的平滑滚动
一般使用锚点来跳转到页面指定位置的时候,会生硬地立即跳转到指定位置,但是有些时候我们想要平滑地过渡到指定的位置,那么可以使用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后缀不带有锚点字样,使用的过程中基本不用修改以上代码即可实现。
以上所述就是本文的全部内容了,希望大家能够喜欢。
- Vue中正确使用jQuery的方法
- jquery在vue脚手架中的使用方式示例
- vue单页应用中如何使用jquery的方法示例
- 详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
- vue中如何引入jQuery和Bootstrap
- jQuery实现将div中滚动条滚动到指定位置的方法
- jQuery实现在textarea指定位置插入字符或表情的方法
- js,jquery滚动/跳转页面到指定位置的实现思路
- 基于jquery的从一个页面跳转到另一个页面的指定位置的实现代码(带平滑移动的效果)
- jQuery实现平滑滚动到指定锚点的方法
- 使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
- jQuery 锚点跳转滚动条平滑滚动一句话代码
- Vue引入jquery实现平滑滚动到指定位置
相关文章
JQERY limittext 插件0.2版(长内容限制显示)
JQERY limittext 插件为长内容增加一个显示更多的功能2010-08-08jQuery on()方法绑定动态元素的点击事件无响应的解决办法
这篇文章主要介绍了jQuery on()方法绑定动态元素的点击事件无响应的解决办法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下2016-07-07jquery获取input type=text中的值的各种方式(总结)
下面小编就为大家带来一篇jquery获取input type=text中的值的各种方式(总结)。小编觉的挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-12-12jquery load()在firefox(火狐)下显示不正常的解决方法
觉得应该是由于 直接将www.baidu.com的内容放到div中,对于较严格的FireFox可能不会处理用cssviewter查看处理后的页面源码果然发现div中为空2011-04-04
最新评论