我正在製作一個Twitch Streamer應用程序,該應用程序使用Twitch API爲一組預定義的拖放器提取一些數據。Animate.css抖動效果每次都不工作
我有三個按鈕來選擇所有/在線/離線頻道,並且我正在爲所有這些按鈕添加animated shake
效果。
在我第一次嘗試時,我做了一個簡單的if/else檢查,以使shake
正常工作 - 檢測animated shake
類是否已經存在,如果是,請將其刪除,然後重新添加。否則,只需添加它。
這沒有奏效。我在這裏找到了一個答案,表示它不會那樣工作,因爲addClass
和removeClass
發生得如此之快以至於DOM沒有時間趕上。
然後我用一個queue
一個匿名函數要添加的類別後引起輕微的延遲後回removeClass
-
if ($(this).hasClass("animated shake")) {
$(this).removeClass("animated shake").delay(50).queue(
function() {
$(this).addClass("animated shake");
});
//$(this).addClass("animated shake");
} else {
$(this).addClass("animated shake");
}
現在,防抖效果就像中90%的時間,但如果你不斷在線/離線頻道之間來回切換,會出現搖晃不起作用的情況。
以下是Codepen上的應用程序。
我會很感激任何幫助,爲什麼它不工作每一次。
注 - 搖動效果現在只在在線/離線按鈕上。
爲希望感謝,併爲您的反饋:)對於你的觀點1,你指的是代碼爲這個'動畫shake'的事情嗎?如果是這樣,這是一個好主意!因爲代碼無法正常工作,所以我沒有想到重構。現在就試試你的版本... –
是啊,談論'animate shake'的代碼:-)讓我知道它是如何適用於你的; ;-) – shramee
它適合你嗎? – shramee