简单实现WordPress锚点链接之间的平滑滚动,采用JQuery形式,故为网站引入JQuery支持是前提条件。由于此文只为备忘,所以废话也就不多说了,不过还是要再要强调一下加载的顺序,JQuery 先。
下面直接上锚点链接之间的平滑滚动的JQuery代码:
[code]$(document).ready(function() {
$('a[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;
}
}
});
});[/code]
经测试,该滚动效果在各浏览器下都兼容适用,唯有在 Opera 下表现有点怪异,无法用言语表达。还有一点问题就是如果你的评论页的翻页默认是带锚点的#comments,于是会造成留言簿的评论无法翻页,每次一点就直接页面上滚了,而且壹品集博客还采用了评论贴图的代码中也带有#链接,也会造成这样的情况。解决办法:
把最前面的$('a[href*=#]')改成$('.entry a[href*=#]')就可以了~~
最新评论