【jQuery】animateでアニメーション中に新たに溜まった動作の処理をしない

jQueryのanimate関数でアニメーションが終了するまでにボタンを連打するなど、
何度もアニメーションを実行すると、不自然にアニメーションを繰り返す事がある。

これはアニメーション動作は、全てqueue(キュー)に溜まるので、
動作中に新たに溜まった動作を全ての動作が完了するまで実行し続ける為である。

アニメーションが終わった時点でqueueの中身を消すことで、
後続のアニメーション(動作中に新たに溜まった動作)が実行されないようにする。

【記述例】

$(this).animate({width: 10}, 100, function(){
	$(this).queue([]);		// queueを空にする
	$(this).stop();			// アニメーション停止
});

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>