我具備的功能:清除jQuery的點擊隊列
$(function(){
$("#mydiv").click(function(){
if ($(this).hasClass('positive')) {
$(this).delay(400).animate({right:'-210px'},1000)
.addClass('negative').removeClass('positive')
} else {
$(this).delay(400).animate({right:'10px'},1000)
.addClass('positive').removeClass('negative')
}
}).clearQueue()
});
但是,如果我在我的div點擊上千次,它將執行動畫一千倍。 我試圖購物Jquery API文檔,但.clearQueue()
(如在函數中)或.stop(true)
似乎工作。
太棒了!我只是不明白這個邏輯。爲什麼.stop()需要放在那裏,如果在延遲之後放置它,它就不起作用了? –
如果在延遲之後放置它,那麼在調用'stop()'之前它會等待400ms。看上面的例子,例如,你只需要調用一次'clearQueue()'(創建處理程序時),而不是每次點擊'#mydiv'。 – Phylogenesis