我想寫一個輪播的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);}點擊慢,或者時間設置的短,沒問題,但是如果點擊較快就可能會出現不斷的進行循環,無法停止。是因為 引入的是外部的變量,變量在變,點擊過快的時候 ? 清除不掉循環該怎么做來避免這樣的情況
js 閉包,如何避免閉包,但是必須引入外部變量
咕咕問
2016-06-01 16:22:52