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

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

js 閉包,如何避免閉包,但是必須引入外部變量

js 閉包,如何避免閉包,但是必須引入外部變量

咕咕問 2016-06-01 16:22:52
我想寫一個輪播的js當點擊按鈕時顯示下一張圖片,我是通過css3的過渡屬性去做的,動畫執行完成之后,再將設置的過渡屬性去掉。因為是通過css3的過渡,因此去掉過渡屬性,必須是在動畫完成之后進行的我先使用了setTimeout,這個不行,如果發生連續點擊效果就會變亂。之后使用了setIntveal ? ?var donghua = "";function dianji(){if(donghua){ ?clearInterval(donghua); ?donghua = ""; ? ?}donghua = setInterval(function(){????console.log("1");? ? ?clearInterval(donghua); ?donghua = "";},5*1000);}點擊慢,或者時間設置的短,沒問題,但是如果點擊較快就可能會出現不斷的進行循環,無法停止。是因為 引入的是外部的變量,變量在變,點擊過快的時候 ? 清除不掉循環該怎么做來避免這樣的情況
查看完整描述

1 回答

已采納
?
kumin

TA貢獻38條經驗 獲得超104個贊

可以考慮讓按鈕失效

在點擊按鈕后 將按鈕設為禁用或者解除click事件 disabled=“disabled”

新增加一個延時計時器 ?時間是動畫完成所需的時間

里面寫上解除按鈕禁用狀態 或者重新綁定click事件


查看完整回答
1 反對 回復 2016-06-29
  • 1 回答
  • 0 關注
  • 2345 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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