我使用 jquery 產生了一個 slideUp 的動畫就像
$(selector).slideUp();
然後過約兩秒 slideDown()
$(selector).slideUp().delay(2000).slideDown();
運作沒問題~
但是當我狂點的時候
他就會按照點的次數上下幾次,延遲也一併處理...
也就是說我按了五次,要過十秒才會結束...
請問有沒有可以直接清除上一個動畫的方式?
我雖然有在前面加上了 hide()
他還是會繼續延遲
我是想說能不能按一次的時候他slideUp()
當我直接再按一次的時候他會直接.slideDown()
然後再直接 slideUp().delay(2000).slideDown()
如果你只是要清掉delay執行,可以使用clearQueue
,像這樣
$(selector).clearQueue();
$(selector).stop();
$(selector).slideUp().delay(2000).slideDown();
清除佇列並停止目前動畫,但delay不受stop取消,所以剛好在delay的情況還是會等兩秒
加個stop?
$(selector).slideUp().delay(2000).slideDown();
$(selector).stop();