亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

邏輯不知道對不對,有點暈。

代碼中的加粗區域是滾輪一下時得到isTop為false,然后再滾一次變成true然后執行ClearInterval?為什么在運行時滾一次就可以了?而不是滾兩次?
window.onload = function(){
? ?var obtn = document.getElementById('btn');
? ?//獲取頁面可視區的高度
? ?var clientHeight=document.documentElement.clientHeight;
? ?var timer = null;
var isTop = true;

? ?window.onscroll=function(){
? ? ?var osTop=document.documentElement.scrollTop||document.body.scrollTop;
? ?if (osTop >= clientHeight){
? ? ? ?obtn.style.display="block"; //顯示按鈕
}else {
obtn.style.display="none"; //隱藏按鈕
}
if (!isTop){
clearInterval(timer);
}
isTop = false; ?
? ?};

obtn.onclick = function(){
//設置定時器
timer = setInterval(function(){
? ? ? ?var osTop=document.documentElement.scrollTop||document.body.scrollTop;
? ? ? ?var ispeed = Math.floor(-osTop / 6);
? ?//獲取滾動條距離頂部的高度
? ?document.documentElement.scrollTop=document.body.scrollTop=osTop+ispeed;
? ?isTop = true;
? ?if(osTop == 0){
? ? ? ?clearInterval(timer);
? ? ? ?}
? ?},30);
? ?}

}


正在回答

1 回答

雖然每次onscroll都會isTop置為false,你每隔30秒都有一個setInterval都會將isTop置為false,所以不會在onscroll事件里執行clearInterval,只有在osTop?===?0時才會clearInterval~


0 回復 有任何疑惑可以回復我~
#1

KokoTa 提問者

非常感謝!
2015-11-28 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
回到頂部效果
  • 參與學習       44195    人
  • 解答問題       214    個

回到頂部網站不可缺少的一部分,用JS實現炫酷拉風的回到頂部效果

進入課程

邏輯不知道對不對,有點暈。

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號