HTML:
<input id="btn1" type="button" value="回到頂部" />
CSS:
#btn1{position:fixed;bottom:10px;right:10px;}
JS:
window.onload=funcition(){
var oBtn=document.getElementById("btn");
var timer=null;
//申明一個變量看是否為系統還是用戶滾動
var sBys=true;
window.onscroll=funcition(){
if(!sBys){
clearInterval(timer);
}
sBys=false;
}
oBtn.onclick=funcition(){
timer = setInterval(funcition(){
//獲取scrollTop
var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;
//當點擊按鈕回到頂部時計算緩沖速度
var ispeed=Math.floor(-scrollTop/8);
if(scrollTop==0){
clearInterval(timer)
}
sBys=true;
document.documentElement.scrollTop=document.body.scrollTop=scrollTop+ispeed;
},30)
}
}
知識點:
1.計算速度(緩沖)向下取整
2.當scrollTop==0時需要清除定時器
3.需要判斷是用戶還是js操作滾動條,如果是用戶操作就清除定時器
以上所述就是本文的全部內容了,希望大家能夠喜歡。