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