JS實現回到頂部特效

pycct 9年前發布 | 2K 次閱讀 JavaScript

下面來說說最近學習到的回到頂部特效:

<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時需要清除定時器

             3.需要判斷是用戶還是js操作滾動條,如果是用戶操作就清除定時器

 本文由用戶 pycct 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!