手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >JQuery简单实现锚点链接的平滑滚动
JQuery简单实现锚点链接的平滑滚动
摘要:一般使用锚点来跳转到页面指定位置的时候,会生硬地立即跳转到指定位置,但是有些时候我们想要平滑地过渡到指定的位置,那么可以使用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>标签:<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后缀不带有锚点字样,使用的过程中基本不用修改以上代码即可实现。

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

【JQuery简单实现锚点链接的平滑滚动】相关文章:

Jquery实现动态切换图片的方法

jQuery实现延迟跳转的方法

javascript实现行拖动的方法

jQuery插件实现适用于移动端的地址选择器

简单实用的网页表格特效

jQuery实现页面内锚点平滑跳转特效的方法总结

JQuery中DOM事件绑定用法详解

js实现点击链接后延迟3秒再跳转的方法

jQuery插件zepto.js简单实现tab切换

JavaScript实现鼠标滑过处生成气泡的方法

精品推荐
分类导航