您的位置:首页 > 运维架构

点选TOP后并不是直接跳到页顶的,而是滚动上去的

2007-02-23 00:00 447 查看
如果网页太长了,一般都使用锚标签快速返回到TOP
<a href="#header" title="back to top">top</a> 确实很简单,不过却有一些高手让这个简变成不简单:

国外演示地址:http://tonyyoo.com/v2/

点选TOP后并不是直接跳到页顶的,而是滚动上去的。。而且距离页顶越长滚动的速度也就越快。。。

研究了下,用到的JS有4个:
<script type="text/javascript" src="scripts/prototype.lite.js"></script>
<script type="text/javascript" src="scripts/moo.fx.js"></script>
<script type="text/javascript" src="scripts/moo.fx.pack.js"></script>
<script type="text/javascript" src="scripts/pageScroll.js"></script>

看起来都好复杂。。不知道有没有可以精简点的代码可以实现同样的效果呢,我是做不来的了。。
在页面onload之后,遍历所有超链接,判断href中是否有#header,有的话触发scrollTo即可。。。



runcode



function s2top(){
var a = document.getElementsByTagName('a');
var l = a.length;
for (var i = 0 ; i < l ; i ++){
var ai = a[i];
if (/#header$/.test(ai.href)){
ai.onclick = function(){
var o = this;
var ot = o.offsetTop;
for (var t = 0 ; t < 20 ; t ++){
setTimeout("scrollBy(0,-" + parseInt(ot / 20) + ")",t * 50 + 1);
}
return false;
}
}
}
}





for (var i = 0 ; i < 1000 ; i ++)
document.write(i+"
");


go to 头
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐