效果图
说明
- html/css/js代码分别保存在index.html/main.css/main.js 文件中,三个文件保存在同一文件夹下即可
源代码
HTML代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>返回顶部</title>
<link rel="stylesheet" href="main.css">
</head>
<body>
<div id="backTop">
<span>回到<br>顶部</span>
</div>
<div id="main_page">
<h1>开头</h1>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<p>我是一个段落</p>
<h2>结尾</h2>
</div>
<script src="main.js"></script>
</body>
</html>
CSS 代码
body{
margin: 0;
padding: 0;
background-color: #f5f5f5;
}
#main_page{
width: 60%;
margin: 10px auto;
background-color: #fff;
border: 1px dashed #ccc;
text-align: center;
}
#backTop{
width: 100px;
height: 100px;
background-color: #fff;
border: 1px solid rgb(226, 225, 225);
position: fixed;
right: 10%;
bottom: 10%;
font-size: 30px;
color: #757575;
cursor: pointer;
text-align: center;
transition: all 0.3s linear;
}
#backTop:hover{
color: rgb(255,103,0);
}
JS代码
var st=0;
var backTop = document.getElementById("backTop");
var timer = 0;
window.onscroll=function(){
st = document.documentElement.scrollTop || document.body.scrollTop;
if(st>500){
backTop.style.opacity = "1";
}else{
backTop.style.opacity = "0";
}
}
backTop.onclick = function(){
clearInterval(timer);
timer=setInterval(function(){
var speed = st/10;
speed = Math.ceil(speed);
if(st<=0){
clearInterval(timer);
}
document.documentElement.scrollTop = st-speed;
},30);
}