クリックしたときに CSS アニメーションを追加し、読み込み時に別のアニメーションで戻したい領域があります。
私は Twitter の Bootstrap のタブを使用しており、タブ間の「フェード」トランジションをオンにしていますが、タブが切り替わっている間、それらのタブ内で何かを具体的にアニメーション化したいと考えています。そこでルート JS コードをいじりたくないので、回避策で解決します。
私のコードは次のとおりです。
$(".tabit").click(function (){
//Drop Center Icon on click
if ($('.centericon').hasClass('fadeInDown')) {
$(".centericon").removeClass('fadeInDown').addClass("fadeOutDown").delay(100).queue(function(next){
$(this).removeClass("fadeOutDown").addClass("fadeInDown");
});
}
else{
$(".centericon").addClass("fadeOutDown").delay(100).queue(function(next){
$(this).removeClass("fadeOutDown").addClass("fadeInDown");
});
}
});
.centericon クラスが繰り返されるため、1 回のクリックで複数のインスタンスが「fadeInDown」クラスを持つことになります。1 回クリックすると正常に動作しますが、2 回クリックすると、.centericon はクラス .fadeOutDown のみを取得します。