下面來講說最近學習到的回到頂部特效:html
<input id="btn1" type="button" value="回到頂部" />
#btn1{position:fixed;bottom:10px;right:10px;}
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時須要清除定時器
spa
3.須要判斷是用戶仍是js操做滾動條,若是是用戶操做就清除定時器
code