來源于:
https://biji.io/2016/3956.html
這種簡單的小功能思路很清晰,就是檢測滾動條是不是在頂部,不是的話就顯示返回頂部按鈕,是的話就把它隱藏。
滾動條監測在新版的主流瀏覽器中是這樣實現的:
document.body.scrollTop
如果想要兼容IE,那么可以加入下面這句完成:
document.documentElement.scrollTop
上面就是最主要的代碼了,但是想要實現實時的監測滾動條的位置,我們還需要一個window.onscroll
才能完成,這樣不斷下拉會不斷刷新滾動條的位置。
說道這里,你大概已經可以試著寫出返回頂部這個功能了。
貼出我的代碼吧:
HETM
<a class="back2top" style="display:none;"></a>
CSS
.back2top {z-index:99;background:#000;width:36px;height:36px;display:block;position:fixed;right:20px;bottom:20px;cursor:pointer;border-radius:2px;opacity:.6;}
.back2top:before {content:"";position:absolute;right:8px;top:10px;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:15px solid #fff;}
JavaScript
window.onscroll=function(){var goTop = document.getElementsByClassName("back2top");if(goTop.length>0){
goTop[0].style.display = document.documentElement.scrollTop >= 200 || document.body.scrollTop >= 200 ? 'block':'none';
goTop[0].onclick=function(){
document.body.scrollTop=0;
document.documentElement.scrollTop=0;}
getElementsByClassName
可能不兼容IE8,如果想向下兼容,可以嘗試用getElementById
就可以了。