平时逛博客的时候经常可以可到一个返回顶(底)部的按钮,这样对较大篇幅的文章,可以提高用户体验
最简单的实现就是使用书签
在顶部和底部分别加上
<a name="top"></a>
<a name="bottom"></a>
但是这样的话效果不明显,现在很多站点,比如微博啊,百度贴吧什么的,都加了滚动效果,百看不厌。一直想仿一个,今天总算成了
废话不多说,直接上代码,详情见注释:
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$('#up').click(function(){
$('html,body').stop().animate(//先加上stop(),不然点向上后,就算达到顶部后也不停止,滚动条下拉后放开,又回到顶部了
{scrollTop: '0px'}, //顶部的话肯定是0
800//800是动画的持续时间,
);
});
$('#down').click(function(){
$('html,body').stop().animate(//同上,至于stop放在animate前面才有用,这就不知道为什么了
{scrollTop:$('#footer').offset().top}, //底部加一个空的div,取它的top值
800
);
});
});
</script>
</head>
<body>
<div style="position: fixed; top:50; left: 300px; cursor: pointer;">
<div id="up">上</div>
<div id="down">下</div>
</div>
<div id="box" style="width: 50px; background-color:#eee; border: 5px double green; padding: 100px;">
a<br/>
b<br/>
c<br/>
d<br/>
e<br/>
f<br/>
g<br/>
h<br/>
i<br/>
j<br/>
1<br/>
2<br/>
3<br/>
4<br/>
5<br/>
6<br/>
7<br/>
8<br/>
9<br/>
0<br/>
a<br/>
b<br/>
c<br/>
d<br/>
e<br/>
f<br/>
g<br/>
h<br/>
i<br/>
j<br/>
1<br/>
2<br/>
3<br/>
4<br/>
5<br/>
6<br/>
7<br/>
8<br/>
9<br/>
0<br/>
a<br/>
b<br/>
c<br/>
d<br/>
e<br/>
f<br/>
g<br/>
h<br/>
i<br/>
j<br/>
1<br/>
2<br/>
3<br/>
4<br/>
5<br/>
6<br/>
7<br/>
8<br/>
9<br/>
0<br/>
</div>
<div id="footer"></div>
</body>
</html>
以上可以实现滚动效果,但还有点自己不满意的地方:有些网站可以实现刹车效果,即滚动速度会渐渐变慢的,个人感觉这样效果更佳,以后有空再研究了