最近の情報を表示するために歌っている div でいくつかのアクティビティを表示したいのですが、通知の種類に応じて div に色を付けることでそれを行っています。
私はこれをやっています
$("#ru").addClass("brc").delay(500).removeClass("brc");
ここにフィドルがありますhttp://jsfiddle.net/vCDAH/1/
なぜこれが機能しないのですか?.
最近の情報を表示するために歌っている div でいくつかのアクティビティを表示したいのですが、通知の種類に応じて div に色を付けることでそれを行っています。
私はこれをやっています
$("#ru").addClass("brc").delay(500).removeClass("brc");
ここにフィドルがありますhttp://jsfiddle.net/vCDAH/1/
なぜこれが機能しないのですか?.
遅延関数は、アニメーション キューにのみ適用されます (管理するキューを 2 番目の引数として渡す場合を除く)。
ここでは、次を使用する必要がありますsetTimeout
。
$("#ru").addClass("brc");
setTimeout(function() { $("#ru").removeClass("brc") }, 500);
jQuery API サイトhttp://api.jquery.com/delay/から
.delay() メソッドは、キューに入れられた jQuery エフェクト間の遅延に最適です。制限があるため (たとえば、遅延をキャンセルする方法は提供されません)、.delay() は JavaScript のネイティブな setTimeout 関数に代わるものではなく、特定のユース ケースにより適している場合があります。
この場合、クラスを追加しても効果はありません (キューはまったくありません)。
$("#ru").addClass("brc");
setTimeout(function() {
$("#ru").removeClass("brc");
}, 500);