需求
- 点击按钮后可以由快到慢返回顶部
- 处于顶部时按钮消失
- 按钮位于页面右下方
效果展示
页面返回顶部
实现原理
- 一开始隐藏按钮:设置为display:none,通过获取可视窗口的高度,当滚动距离大于20px时,将active属性添加给按钮,并设置为display:block
- 然后给按钮添加点击事件,并通过计时器来实现循环;在滚动高度大于100px时,通过滚动条距顶部的高度实现减速
具体代码
JS部分
<script>
window.onscroll=function(){
var height = document
.documentElement.scrollTop
if (height > 100) {
toTop.style.display = "block";
} else {
toTop.style.display = "none";
}
}
toTop.onclick=function(){
timer = setInterval(function () {
var height = document
//距离顶部的距离
.documentElement.scrollTop
if (height == 0){
clearInterval(timer);
return;
}
var speed = Math.ceil(-height/20);//实现减速
document.documentElement.scrollTop=height+speed;
}, 20);
}
</script>
完整代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.container {
height: 4000px;
text-align: center;
line-height: 25px;
}
button {
width: 100px;
height: 100px;
position: fixed;
bottom: 100px;
right: 20px;
background-color: #ab85a4;
display: none;
}
</style>
</head>
<body>
<div class="container">
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
all work and no play make jack a dull boy<br>
<button id="toTop">返回顶部</button>
</div>
<script>
window.onscroll=function(){
var height = document
.documentElement.scrollTop
if (height > 100) {
toTop.style.display = "block";
} else {
toTop.style.display = "none";
}
}
toTop.onclick=function(){
timer = setInterval(function () {
var height = document
//距离顶部的距离
.documentElement.scrollTop
if (height == 0){
clearInterval(timer);
return;
}
var speed = Math.ceil(-height/20);
document.documentElement.scrollTop=height+speed;
}, 20);
}
</script>
</body>
</html>