JS實現(xiàn)回到頁面頂部動畫效果的簡單實例
最近在模仿各大網(wǎng)站寫頁面樣式和交互,發(fā)現(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; //到達頂部,清除定時器 if (osTop == 0) { clearInterval(timer); }; isTop = true; },30); }; };
以上這篇JS實現(xiàn)回到頁面頂部動畫效果的簡單實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript建立一個語法高亮輸入框?qū)崿F(xiàn)思路
通常網(wǎng)站自帶的textarea編輯器不能滿足我們的需求比如高亮顯示代碼等,在這篇文章中,我將使用JavaScript庫ACE來創(chuàng)建一個輸入框效果,該腳本允許開發(fā)人員創(chuàng)建支持語法高亮的輸入框,感興趣的你可不要錯過了哈2013-02-02js獲取觸發(fā)事件元素在整個網(wǎng)頁中的絕對坐標(示例代碼)
這篇文章主要介紹了js獲取觸發(fā)事件元素在整個網(wǎng)頁中的絕對坐標。需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12由淺入深講解Javascript繼承機制與simple-inheritance源碼分析
Javascript語言對繼承實現(xiàn)的并不好,需要工程師自己去實現(xiàn)一套完整的繼承機制。下面我們由淺入深的系統(tǒng)掌握使用javascript繼承的技巧,對javascript繼承相關(guān)知識感興趣的朋友一起看看吧2015-12-12js監(jiān)聽滾動條滾動事件使得某個標簽內(nèi)容始終位于同一位置
js如何監(jiān)聽滾動條滾動事件,使得某個標簽內(nèi)容始終位于同一位置,下面有個不錯的示例,大家可以參考下2014-01-01創(chuàng)建echart多個聯(lián)動的示例代碼
這篇文章主要介紹了創(chuàng)建echart多個聯(lián)動的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11