1.使用默认链接锚记
最简单的方法,只需添加一个超链接,给超链接的href属性设置值为“#top”即可实现返回顶部的功能。
<a href="#top">
超链接
</a>
2.href指向特定ID
在页面现有的标签中,使用“返回顶部”的连接的href指向顶部具有id属性的标签,以实现返回顶部的功能。这种方法,需要在页面顶部的标签中有具有id属性的标签,来实现指向顶部。亦可自定义添加。
<body id="bh-page">
...
<a href="#bh-page">
超链接
</a>
</body>
3.使用自定义链接锚记
这种方法,就是使用的自定义链接锚记了,必须要定义锚记,然后使用超链接指向锚。
这种方法其实跟第二种方法差不多,只不过必须要额外定义一个链接锚记。
<a name="gohere"></a> //定义一个超链接,跳转到这个,可以没有文字
.....
<a href="#gohere">
超链接
</a>
4.使用简单函数
可以设置scrollTo(0,0)中的x、y的值来跳转到页面的具体位置。
<a href="javascript:window.scrollTo(x,y)>
超链接
</a>
5.使用jquery操作DOM样式
使用js将body或html等元素的scrollTop属性设置为0,即可滚动到页面的顶部。一般使用jQuery来实现上述代码。
// 以下三种方式均可实现返回页面顶部
$(window).scrollTop(0);
$('body').scrollTop(0);
$('html').scrollTop(0);
此外,我们还可以使用jQuery的动画效果函数animate()来实现平滑滚动到页面顶部的动画效果。
// 在500毫秒内平滑滚动到页面顶部
$('body').animate( {scrollTop: 0}, 500);
6.渐进式返回顶部
function pageScroll() {
window.scrollBy(0,-10);
scrolldelay = setTimeout('pageScroll()',100);
}
<a href="pageScroll();">返回顶部</a>
//这样就会动态返回顶部,不过虽然返回到顶部但是代码仍在运行,还需要在pageScroll函数加一句给停止掉。
if(document.documentElement.scrollTop==0)
clearTimeout(scrolldelay);
7.简单的静态返回顶部,用js模拟滚动效果上滑至顶部
.js
function pageScroll(){
//把内容滚动指定的像素数(第一个参数向右滚动的像素数,第二个参数向下滚动的像素数)
window.scrollBy(0,-100);
//延时递归调用,模拟滚动向上效果
scrolldelay = setTimeout('pageScroll()',100);
//获取scrollTop值,声明了DTD的标准网页取document.documentElement.scrollTop
// 否则取document.body.scrollTop;
// 因为二者只有一个会生效,另一个就恒为0,所以取和值
//可以得到网页的真正的scrollTop值
var sTop=document.documentElement.scrollTop+document.body.scrollTop;
//判断当页面到达顶部,取消延时代码(否则页面滚动到顶部会无法再向下正常浏览页面)
if(sTop==0) clearTimeout(scrolldelay);
}
.html
<a onclick="pageScroll()">返回顶部</a>
缺点:滚动效果不平滑,且在页面很长时点击返回顶部,未向上到达页面顶部无法再正常浏览页面;
同上依旧是静态固定于页面底部,不一定能曝光在用户面前。