尤克里里的方法不錯 返回頂部過程中和滾動條拼速度體驗不好 最好是直接點擊頁面就停下來 示例
1.在頁面添加一個空div css類似 #scrollStop{width: 100vw;height: 100vh;background-color: #transparent;position: fixed;top: 0;left: 0;}
2.給返回頂部按鈕添加一個z-index=1(確保按鈕不被div給蓋住了)
3.js的onscroll中獲取#scrollStop并添加點擊事件scrollStop.onclick{clearsetInterval(timer)};
1.在頁面添加一個空div css類似 #scrollStop{width: 100vw;height: 100vh;background-color: #transparent;position: fixed;top: 0;left: 0;}
2.給返回頂部按鈕添加一個z-index=1(確保按鈕不被div給蓋住了)
3.js的onscroll中獲取#scrollStop并添加點擊事件scrollStop.onclick{clearsetInterval(timer)};
2016-09-19
在onlick里面先if判斷一下定時器是不是空的吧 不然
if(timer){
clearInterval(timer);
}
再寫timer=setInterval blalabalbal
if(timer){
clearInterval(timer);
}
再寫timer=setInterval blalabalbal
2016-09-19
最新回答 / ThinkSummer
1、盡量不要使用全局變量。每聲明一個全局變量會占用一點內存,另外會造成變量名污染;2、var osTop = document.documentElement.scrollTop。如果寫在外面,osTop只是在JS文件載入時獲取滾動條距離頂部的高度,但有的時候,如頁面在滾動的時候osTop的值是在不斷變化的,所以我們要在綁定scroll事件中不斷的去獲取osTop的值;3、本人對JS也不是太熟悉,回答的也不一定正確。上面是我用jQuery寫的咱們慕課網右側返回頂部的代碼。
2016-09-19
已采納回答 / 慕名不來
第6行只是定義下這個變量而已,請注意在30行那兒給isTop賦值為true了,所以第6行不管你是什么值都無所謂。第19行那兒你不賦值為false的話,那就停止不了定時器(因為定時器停止的條件是isTop為false),也就達不到終止動畫的效果。至于第19行的問題,肯定是先判斷完條件,執行相應的動作后,再把條件變量復位啊,你如果放到16行前的話,那條件判斷始終成立,也就是說每向上滑動一下,就停止不滑動了,那還玩毛啊
2016-09-17
最新回答 / qq_不能自理的豬_0
window.onload=function(){ ? ?var btn=document.getElementById('btn'); ? ?var timer=null; ? ?//頁面可視高度區域 ? ?var clientHeight=document.documentElement.clientHeight; ? ?//在第二頁面顯示回到頂部按鈕 ? ?window.onscroll=function(){ ? ? ? ?var osTop=document.body.scrollTop || ...
2016-09-13
這里寫background的時候:老師用到的是top left和left 40px;
我寫的是top和bottom,也是一樣的效果。
由于btn的寬高都為40是固定的所以可以用我的這樣的寫法。
給大家一個參考意見吧。
我寫的是top和bottom,也是一樣的效果。
由于btn的寬高都為40是固定的所以可以用我的這樣的寫法。
給大家一個參考意見吧。
2016-09-10