と衝突した後、私は私が起こる見て期待していなかった特有の問題を持っています。状況のためにHere is a codepen。これはケースです:CSSアニメーションポップインでポップアウトは再びお互い
私はボタンクリックでポップアップ表示され、閉じた後に「で」ポップ隠されたdiv要素を持っています。これはjQueryのshow/hideで処理されます。 UXでは、CSSを使って微妙なポップインアニメーションを追加したかったのです。それが表示されているデフォルトのCSSの状態に戻ります
.popout { animation: popout .2s ease;}
.popin { animation: popin .2s ease;}
@keyframes popout {
from {transform:scale(0)}
90% {transform:scale(1.1)}
to {transform:scale(1)}
}
@keyframes popin {
from {transform:scale(1)}
10% {transform:scale(1.1)}
to {transform:scale(0)}
}
今のアニメーションが正常に動作しますが、ポップアップを閉じた後(POPINクラスを追加):私は、次の追加しました。その結果、ポップアップが縮小してから再び表示されるのが見えます。 CSSアニメーションコールにforwards
を追加することでこれを修正することはできますが、これにより、もう一方のクリックに関係なくアニメーションが継続されます。言い換えると; forwards
をCSSアニメーションに追加すると、非表示のままですが、再度開くと表示されません(forwards
はまだアクティブなので)。
私は再びあなたが見る、それに自分を試すことができますthe Codepenを参照してください。 クラスにforwards
を追加すると、閉じた後は非表示のままですが、再び開くことはできません。
私の思考プロセスが間違っていたところだから私は思ったんだけど。 forwards
の設定を「上書き」または「停止」できますか?私は明白な何かを欠いていますかまたは、これを行う方法ではないのですか?代わりにjQueryアニメーションを調べる必要がありますか?
シンプルなってことを、すごいああhttps://codepen.io/anon/pen/bWrNPM – Amal
これを試してみてください。そのタイムアウトを追加するだけでしたか?私はこれまで考えていましたが、アニメーションが遅れたり長さが変わったりすると、それを隠すために一定のタイムアウトを持つことに問題が生じるかもしれないと考えました。 –
閉じるをクリックするとポップアップを非表示にすることを忘れ、 '$( 'popup')。hide();' –