第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于運(yùn)行定時(shí)器時(shí)候手動(dòng)滾動(dòng)滾動(dòng)條停止定時(shí)器問題!

請問一下!設(shè)置istop = true ?

在運(yùn)行istop = true 這表示在定時(shí)器運(yùn)行的時(shí)候不啟動(dòng)

if(!istop){clearInterval(timer)}

但是如果,用戶自己滾動(dòng)滾動(dòng)條的話· ?就觸發(fā)window.onscroll = function(){if(!istop){clearInterval(timer)}

istop = false}

這個(gè)函數(shù)· ?而這個(gè)函數(shù)里面istop是false 然后傳給if里面取反· 變成true 符合條件· 進(jìn)行清除定時(shí)器·?

請問大家,這邊的思路是這樣子的嗎??

正在回答

2 回答

1.你描述的不太清楚。我開始也不懂,試了幾次才明白。是這樣的,最初定義變量var isTop=true,是為了方便后面分辨它是由點(diǎn)擊按鈕設(shè)置定時(shí)器來滾動(dòng)還是鼠標(biāo)來滾動(dòng),首先,我們知道剛打開的頁面按鈕不可見,根本不可能點(diǎn)擊到按鈕,此時(shí)最初的isTop為true,然后就需要我們用鼠標(biāo)操作滾動(dòng),這時(shí)就觸發(fā)了Window.onscroll事件,里面會(huì)做判斷,此時(shí)isTop仍未改變,不符合if(!isTop)也就是isTop為false的條件,就不會(huì)關(guān)定時(shí)器,后一句就把false賦給isTop了,注意這里前面順序不能顛倒,否則先賦值的話就直接關(guān)定時(shí)器,后面點(diǎn)擊onclick事件的同時(shí)會(huì)一起觸發(fā)onscroll事件,那么會(huì)造成滾動(dòng)條滾一下停一下(因?yàn)槟闱懊骓樞虿粚﹃P(guān)了定時(shí)器),不能自動(dòng)滾到top為0的位置

2.點(diǎn)擊按鈕同時(shí)也會(huì)觸發(fā)onscroll事件但是仍舊不會(huì)關(guān)閉定時(shí)器 (因?yàn)槟菞l判斷在),里面仍為true,此時(shí)你再滾動(dòng)觸發(fā)onscroll事件,里面會(huì)賦值為false,你再點(diǎn)擊賦值為true,如此循環(huán),互不沖突。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

不風(fēng)的羈

你好,我把那個(gè)isTOP判斷給刪了,功能還是正常的呀
2018-05-22 回復(fù) 有任何疑惑可以回復(fù)我~

window.onload = function(){
?? ??? ??? ??? ?var obtn = document.getElementById('btn');
?? ?//獲取頁面可視區(qū)的高度
?? ?var aclientHeight=document.documentElement.clientHeight;
?? ?var timer = null;
?? ?var isTop = false;
?? ?window.onscroll=function(){
?? ??? ?var osTop=document.documentElement.scrollTop||document.body.scrollTop;
?? ??? ?if (isTop){
?? ??? ??? ?clearInterval(timer);
?? ??? ?}
?? ??? ?isTop = true;
?? ??? ?if (osTop >= aclientHeight){
?? ??? ??? ?obtn.style.display="block";
?? ??? ?}else {
?? ??? ??? ?obtn.style.display="none"; //隱藏按鈕
?? ??? ?}
?? ?}


你可以把isTop設(shè)置為false? 意思是沒有人為滾動(dòng)的時(shí)候?? isTop為true的時(shí)候就是人為滾動(dòng)的時(shí)候,?? 當(dāng)執(zhí)行第一次onscroll的時(shí)候? 其實(shí)isTop還是為false? 第二次再執(zhí)行onscroll的時(shí)候? isTop就變?yōu)門rue了? 因?yàn)閛nscroll這個(gè)函數(shù)里面有設(shè)置isTop = true;?? 滾動(dòng)一下滾輪 其實(shí)onscroll這個(gè)函數(shù)會(huì)執(zhí)行20多次? 第二次開始isTop就變?yōu)門rue,所以就清除定時(shí)器了

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
回到頂部效果
  • 參與學(xué)習(xí)       44202    人
  • 解答問題       214    個(gè)

回到頂部網(wǎng)站不可缺少的一部分,用JS實(shí)現(xiàn)炫酷拉風(fēng)的回到頂部效果

進(jìn)入課程

關(guān)于運(yùn)行定時(shí)器時(shí)候手動(dòng)滾動(dòng)滾動(dòng)條停止定時(shí)器問題!

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)