クリックするとトリガする次のメニューアイコンのCSSアニメーションを作成しました。 jQueryを使用して2回目にクリックすると、逆にアニメーション化したいと思っています。jQueryで2回目のクリックでCSSアニメーションを逆にする方法
#path1 {
stroke-dasharray: 33px;
stroke-dashoffset: 33px;
animation: line 1.5s linear forwards;
animation-play-state: paused;
}
@keyframes line {
100% {
stroke-dashoffset: -15.5;
}
}
#halfLineLeft {
transform-origin: 1% 50%;
animation: shrinkleft 1s linear forwards;
animation-play-state: paused;
}
#halfLineRight {
transform-origin: 100% 1%;
animation: shrinkleft 1s linear forwards;
animation-play-state: paused;
}
@keyframes shrinkleft {
100% {
transform: scale(0,1);
}
}
svg {
transform: translate(350px, 200px);
}
、これは私がこれまで持っているjQueryのです...私はSVGのアイコンをもう一度クリックすると、それが逆にアニメーションにする方法を見つけ出すように見えるカント
$("svg").click(
function(){
$("#path1, #halfLineLeft, #halfLineRight").css("animation-play-state", "running");
}
);
。私は運がなく、このコードを試してみました:
http://codepen.io/anon/pen/xEORBJ
たぶん、あなたは、クリック数を格納する変数を追加することができます。 1回目のクリックで最初のアニメーションを実行し、2回目のクリックでもう一方のアニメーションを実行します。 – Trialsman
@Trialsmanまたはtrueからfalseに変わり、戻ってくる真偽値です。そしてクリックごとに 'whichAnimation =!whichAnimation' –
あなたはこのためにクラスを切り替えることを検討しましたか? – charlietfl