基于JavaScript實現(xiàn)回到頁面頂部動畫代碼
最近做的都是前端的項目,很多項目都有回到頂部的需求,下面把我寫js代碼做個筆錄,方便以后查找。
發(fā)現(xiàn)還可以添加從快到慢的動畫效果和隨時下拉滾動條停止?jié)L動的功能, 參考了imooc上相關(guān)課程,最終實現(xiàn)JS代碼如下:
//頁面加載后觸發(fā) window.onload = function(){ var btn = document.getElementById('btn'); var timer = null; var isTop = true; //獲取頁面可視區(qū)高度 var clientHeight = document.documentElement.clientHeight; //滾動條滾動時觸發(fā) window.onscroll = function() { //顯示回到頂部按鈕 var osTop = document.documentElement.scrollTop || document.body.scrollTop; if (osTop >= clientHeight) { btn.style.display = "block"; } else { btn.style.display = "none"; }; //回到頂部過程中用戶滾動滾動條,停止定時器 if (!isTop) { clearInterval(timer); }; isTop = false; }; btn.onclick = function() { //設(shè)置定時器 timer = setInterval(function(){ //獲取滾動條距離頂部高度 var osTop = document.documentElement.scrollTop || document.body.scrollTop; var ispeed = Math.floor(-osTop / 7); document.documentElement.scrollTop = document.body.scrollTop = osTop+ispeed; //到達(dá)頂部,清除定時器 if (osTop == 0) { clearInterval(timer); }; isTop = true; },30); }; };
以上內(nèi)容是小編給大家介紹的基于JavaScript實現(xiàn)回到頁面頂部動畫代碼,代碼簡單易懂,所有沒給大家附太多的注釋,如果大家在參考過程中發(fā)現(xiàn)有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!
相關(guān)文章
javascript 使用sleep函數(shù)的常見方法詳解
這篇文章主要介紹了javascript 使用sleep函數(shù)的常見方法,結(jié)合實例形式分析總結(jié)了javascript sleep函數(shù)的功能、常見使用方法與操作注意事項,需要的朋友可以參考下2020-04-04js檢測IE8及以下瀏覽器版本并做出提示的函數(shù)代碼
這篇文章主要介紹了js檢測IE8及以下瀏覽器版本并做出提示的函數(shù)代碼,需要的朋友可以參考下2023-02-02javascript對象的相關(guān)操作小結(jié)
下面小編就為大家?guī)硪黄猨avascript對象的相關(guān)操作小結(jié)。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05