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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問鼠標不斷移入,輪播會加速,是什么原因?

請問鼠標不斷移入,輪播會加速,是什么原因?

慕婉清0895596 2017-09-20 16:06:52
function?byId(id){ return?typeof(id)==="string"?document.getElementById(id):(id); } var?index=0, pics=byId("banner").getElementsByTagName("div"), len=pics.length, timer=null; function?slideImg(){ var?main=byId("main"); //鼠標放置,輪播停止 main.onmouseover=function(){ } //鼠標離開,進行輪播 main.onmouseout=function(){ timer=setInterval(function(){ index++; if(index>=len){ index=0; } //圖片切換 changeImg(); },3000) } main.onmouseout(); } function?changeImg(){ for(var?i=0;i<len;i++){ pics[i].style.display="none"; } //鼠標離開時,給索引添加display屬性 pics[index].style.display="block"; } slideImg();
查看完整描述

4 回答

?
sheshunjiang

TA貢獻11條經驗 獲得超2個贊

解決方案:移出前需要先清除定時器(clearInterval(timer))。

解析:如果在鼠標移出時,沒有清除定時器,那么移出的時候,就會又開一個定時器。所以輪播會加快。

查看完整回答
反對 回復 2017-09-27
?
NicholasCZakas

TA貢獻3條經驗 獲得超0個贊

樓上說的都有道理!同意

查看完整回答
反對 回復 2017-09-27
?
小羊楊

TA貢獻24條經驗 獲得超44個贊

沒有清除定時器,多個定時器導致速度被加倍了。

查看完整回答
反對 回復 2017-09-26
?
Gotta

TA貢獻53條經驗 獲得超16個贊

在 onmouseover 里有吧timer移除掉嗎, 如果沒有,鼠標每次放進去都會生成一個新的定時器,變成同時有好幾個定時器在跑 當然越來越快了

查看完整回答
反對 回復 2017-09-21
  • 慕婉清0895596
    慕婉清0895596
    那如果把timer移除了,用什么接收setInterval的返回值???
  • Gotta
    Gotta
    移除指clearInterval(timer), 讓這個計時器不再工作。 如果不移除,即使timer被賦值成新的計時器,舊的那個還是存在并且在工作的。
  • 4 回答
  • 0 關注
  • 1491 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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