1つのアニメーションを実行するのに約8秒かかるようです。
setInterval(
fb_glow,
8000 //-> or 9000 miliseconds to make sure you don't have any overlap.
);
setInterval
不定ループを作るごとに8000ミリ秒(または8秒)fb_glow呼び出します。
また、あなたfb_glow
機能のfb_glow();
内部を取り除きます。
function fb_glow() {
$('#dev_fb_image').delay(4000).animate({'background-color':'#4065b4'},2000).animate({'background-color': 'white'},2000);
}
jQueryのアニメーションは、非同期関数でsetInterval/setTimeout
に基づいています。つまり、fb_glow()
が即座に呼び出され、アニメーションが終了するのを待つことはありません。
jQueryには、.done()
機能もあります。あなたはそれが動作するかどうかを確認する必要があります。私は結果を混在させました。
function fb_glow() {
$('#dev_fb_image')
.delay(4000)
.animate({'background-color':'#4065b4'},2000)
.animate({'background-color': 'white'},2000)
.done(fb_glow);
}
done(あなたは...このためsetInterval
を使用しないでください)型:Function(プロミスアニメーション、ブールjumpedToEnd) 機能要素のアニメーションが(その プロミスオブジェクトを完了したときに呼び出されます解決される)。 (バージョンが追加されました:1.8)
の.doneがここに素敵なソリューションですが、アニメーションのために使用されていないだけ。 $ .when()イベントも見てください。 –