基于JavaScript實(shí)現(xiàn)回到頁(yè)面頂部動(dòng)畫(huà)代碼
最近做的都是前端的項(xiàng)目,很多項(xiàng)目都有回到頂部的需求,下面把我寫(xiě)js代碼做個(gè)筆錄,方便以后查找。
發(fā)現(xiàn)還可以添加從快到慢的動(dòng)畫(huà)效果和隨時(shí)下拉滾動(dòng)條停止?jié)L動(dòng)的功能, 參考了imooc上相關(guān)課程,最終實(shí)現(xiàn)JS代碼如下:
//頁(yè)面加載后觸發(fā) window.onload = function(){ var btn = document.getElementById('btn'); var timer = null; var isTop = true; //獲取頁(yè)面可視區(qū)高度 var clientHeight = document.documentElement.clientHeight; //滾動(dòng)條滾動(dòng)時(shí)觸發(fā) window.onscroll = function() { //顯示回到頂部按鈕 var osTop = document.documentElement.scrollTop || document.body.scrollTop; if (osTop >= clientHeight) { btn.style.display = "block"; } else { btn.style.display = "none"; }; //回到頂部過(guò)程中用戶(hù)滾動(dòng)滾動(dòng)條,停止定時(shí)器 if (!isTop) { clearInterval(timer); }; isTop = false; }; btn.onclick = function() { //設(shè)置定時(shí)器 timer = setInterval(function(){ //獲取滾動(dòng)條距離頂部高度 var osTop = document.documentElement.scrollTop || document.body.scrollTop; var ispeed = Math.floor(-osTop / 7); document.documentElement.scrollTop = document.body.scrollTop = osTop+ispeed; //到達(dá)頂部,清除定時(shí)器 if (osTop == 0) { clearInterval(timer); }; isTop = true; },30); }; };
以上內(nèi)容是小編給大家介紹的基于JavaScript實(shí)現(xiàn)回到頁(yè)面頂部動(dòng)畫(huà)代碼,代碼簡(jiǎn)單易懂,所有沒(méi)給大家附太多的注釋?zhuān)绻蠹以趨⒖歼^(guò)程中發(fā)現(xiàn)有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
JavaScript canvas實(shí)現(xiàn)文字時(shí)鐘
這篇文章主要為大家詳細(xì)介紹了JavaScript canvas實(shí)現(xiàn)文字時(shí)鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-01-01javascript 使用sleep函數(shù)的常見(jiàn)方法詳解
這篇文章主要介紹了javascript 使用sleep函數(shù)的常見(jiàn)方法,結(jié)合實(shí)例形式分析總結(jié)了javascript sleep函數(shù)的功能、常見(jiàn)使用方法與操作注意事項(xiàng),需要的朋友可以參考下2020-04-04js檢測(cè)IE8及以下瀏覽器版本并做出提示的函數(shù)代碼
這篇文章主要介紹了js檢測(cè)IE8及以下瀏覽器版本并做出提示的函數(shù)代碼,需要的朋友可以參考下2023-02-02Javascript讓DEDECMS告別手寫(xiě)Tag
dedecms在編輯修改內(nèi)容時(shí),TAG標(biāo)簽需要手動(dòng)輸,中文的Tag, 中間還得用半角字符','分隔, 輸入法切來(lái)切去很不方便, 于是動(dòng)手改后臺(tái)代碼, 利用后臺(tái)的tags_main.php, 讓dedecms添加內(nèi)容時(shí)能去tags_main里去選擇.2014-09-09javascript對(duì)象的相關(guān)操作小結(jié)
下面小編就為大家?guī)?lái)一篇javascript對(duì)象的相關(guān)操作小結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05