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