js要怎么实现回到顶部?

最好来个案例... 最好来个案例 展开
 我来答
Rachel郭
2019-10-09 · 超过35用户采纳过TA的回答
知道答主
回答量:141
采纳率:100%
帮助的人:24万
展开全部
回到顶部按钮的实现基本思想很简单,就是修改页面的scrollTop,难点就是去计算scrollTop。
实现回到顶部按钮,需要考虑几个细节:
1. 回到顶部的速度计算
2. 定时器需要关闭,不关闭会导致不停的执行回到顶部的事件
3. 回到顶部事件未结束,用户进行滚动页面,应该关闭定时器
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style>
#btn1{
position: fixed;
bottom: 0;
right: 0;
}
</style>
<script>
window.onload = function(){
var oBtn=document.getElementById('btn1');
//用处,避免当按钮触发页面回到顶部时页面滚动这个过程未结束,用户此时人为滚动时页面不会准确响应用户
var bSys = true;
var timer = null;
window.onscroll = function(){
//当认为滚动页面,关闭定时器
if(!bSys){
clearInterval(timer);
}
bSys = false;
}
oBtn.onclick = function()
{
//每30ms执行一次 scrollTop+iSpeed
timer = setInterval(function(){
var scrollTop=document.documentElement.scrollTop || document.body.scrollTop;
//算速度 除以的数值越大,速度越慢
var iSpeed=Math.floor(0-scrollTop/5);
if(scrollTop == 0){
//不关闭定时器,会导致第一次回到顶部之后,导致不能在响应用户的滚动,不定的触发回到顶部,by三人行慕课
clearInterval(timer);
}
//当按钮启动页面滚动,设置为true
bSys=true;
document.documentElement.scrollTop=document.body.scrollTop=scrollTop+iSpeed;
}, 30);
}
}
</script>
</head>
<body style='height:2000px;'>
<input type="button" id="btn1" value="回到顶部" />
</body>
</html>
匿名用户
2019-10-09
展开全部
不一定非要js啊,在顶部设个id位置,连接到那里就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
咬字D4
2019-10-09 · TA获得超过452个赞
知道小有建树答主
回答量:570
采纳率:56%
帮助的人:62.4万
展开全部
你是用a标签来实现点击出现弹出层的效果的吧~如果设置超链接为"#",默认点击后就会跳转到页面顶部了。一般有两个方法,一个是设置超链接为"###",例如下面这样:
按钮
第二种方法是用JS来阻止超链接,例如下面这样:
按钮
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式