jQueryを使用して2つのCSSアニメーションを切り替えようとしていますが、1回しか動作しません。トグルし続けるにはどうすればいいですか?また、何らかの理由でjsFiddleで動作しないようです。お願いしてありがとう。jQueryで2つのCSSアニメーションを切り替えるのは、一度しか動作しません。
//hide and show counter-button
$('#counter-button').click(function() {
$('#counter').toggle();
//move button down/up on click
if ($('#counter-button').attr('class') === 'movedown') {
$('#counter-button').addClass('moveup');
} else {
$('#counter-button').addClass('movedown');
}
});
#counter-button {
font-size: 20px;
position: fixed;
right: 90px;
bottom: 190px;
z-index: 2;
cursor: pointer;
}
.movedown {
animation: down ease forwards 0.5s;
}
@keyframes down {
from {
right: 90px;
bottom: 190px;
}
to {
right: 90px;
bottom: 100px;
}
}
.moveup {
animation: up ease forwards 0.5s;
}
@keyframes up {
from {
right: 90px;
bottom: 100px;
}
to {
right: 90px;
bottom: 190px;
}
}
#counter {
position: fixed;
height: 80px;
width: 228px;
bottom: 100px;
right: 20px;
border: 2px solid black;
border-radius: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="counter-button">
COUNTER
</div>
<div id="counter"></div>
@RoryMcCrossan最初にOPが、そう 'toggleClass'の両方を削除するか、または両方を追加します。 'moveup'が既に存在する場合、' toggleClass'を使ってこれを行うことができます。 – void
ああ、そうです。私の悪い。あいまいさを防ぎ、JSをよりシンプルにするために、要素にデフォルトの状態クラスを追加することをお勧めします。 –
@RoryMcCrossanはい真! :) – void