微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

标签即可。

rush:xhtml;">

html5html5html5

标签HTML52015年4月19日

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

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

搞定了!

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

rush:js;"> $(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后缀不带有锚点字样,使用的过程中基本不用修改以上代码即可实现。

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

原文地址:https://www.jb51.cc/jquery/54534.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐