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

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

一個關于元素多次觸發setInterval定時器的問題!明明在調用前有清除,卻為何還是會多次觸發

一個關于元素多次觸發setInterval定時器的問題!明明在調用前有清除,卻為何還是會多次觸發

米琪卡哇伊 2018-09-06 09:10:12
//需求:制作一個類似與抽獎轉盤的效果,就是在點擊抽獎的時候會觸發定時器去執行方法var iItems=0;function startMovement (){    var zhuanpanItems=$('#zhuangpan li');    if(iItems<7)    {        iItems++;        zhuanpanItems.removeClass('active').eq(iItems).addClass('active');    }    else{        iItems=0;        zhuanpanItems.removeClass('active').eq(iItems).addClass('active');    }};$('#start').click(function(){  //start 元素是一個div不是input button    clearInterval(timer_1);  //在此處我明明有清除過定時器,卻為什么當我多次點擊的時候依然會多次觸發定時器,導致越點擊轉的越快    var timer_1=setInterval('startMovement()',200);});以上代碼在start.click()調用的時候,是不是因為我的timer_1變量是局部變量,所以導致在上方的clearInterval方法無法獲取改變量,導致清楚失???如果是這樣的那么我應該怎么樣才能防止多次觸發該定時器,因為我必須要在用戶點擊開始按鈕的時候才會去轉。望大神指點!
查看完整描述

1 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

timer_1定義在外面(全局變量)就好了。 
PS:感覺你要補充下js變量作用域知識

查看完整回答
反對 回復 2018-10-14
  • 1 回答
  • 0 關注
  • 1670 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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