<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{
margin: 0;
padding: 0;
}
#back{
position: fixed;
width: 100px;
height: 100px;
border-radius: 50%;
background: yellowgreen;
text-align: center;
line-height: 100px;
bottom: 20px;
right: 20px;
cursor: pointer;
display: none;
}
</style>
</head>
<body>
<div class="container">
<img src="1.png" alt="">
<img src="1.png" alt="">
<img src="1.png" alt="">
<img src="1.png" alt="">
<img src="1.png" alt="">
<div id="back">
回到顶部
</div>
</div>
</body>
</html>
<script src="utils.js"></script>
<script>
var back=document.getElementById("back");
back.onclick=function(){
let winT=win('scrollTop');
let part = winT/50;
let timer=setInterval(()=>{
winT-=part;
win('scrollTop',winT);
if(winT<=0){
clearInterval(timer);
}
},20);
};
window.onscroll=check;
let winH=win('clientHeight');
function check(){
let winT=win('scrollTop');
if(winT>=winH){
back.style.display='block';
}else{
back.style.display='none';
}
}
function win(attr,value){
if(value==undefined){
return document.documentElement[attr] || document.body[attr];
}
document.documentElement[attr]=value;
document.body[attr]=value;
}
win('scrollTop',100);
console.log(win('clientWidth'));
</script>