So führen Sie eine CSS-Animation jedes Mal aus, wenn einem Element eine nachfolgende Klasse hinzugefügt wird
P粉714780768
P粉714780768 2023-09-09 22:36:42
0
1
461

Ich habe eine CSS-Animationsklasse eingerichtet, damit ich das

-Element animieren kann.

Wenn auf die Eingabeschaltfläche geklickt wird, wird diese Klasse zu

hinzugefügt und ich möchte, dass

jedes Mal zum Bildschirm fliegt, wenn auf die Eingabeschaltfläche im Beispiel geklickt wird.

Allerdings funktioniert es nur beim ersten Mal. Bei nachfolgenden Eingabeklicks wird das Element nicht animiert. Was fehlt mir hier?

$( document ).ready(function() { jQuery('#cloc').click(function () { jQuery('p').removeClass('anim').promise().done(function() { jQuery('p').addClass('anim'); }); }); });
input { margin-bottom:20px; margin-top:50px; } p { opacity:1; } .anim { animation-duration: 200ms; animation-name: slidein; } @keyframes slidein { from { transform:translateX(-200px); opacity:0; } to { transform:translateX(0px); opacity:1; } } p { position:absolute; left:0px; opacity:0; animation-fill-mode: forwards; animation-iteration-count: 1; }
 

HERE IS A TESTER FOR YOU.

P粉714780768
P粉714780768

Antworte allen (1)
P粉494151941

您需要向animationend事件添加新的事件侦听器,以将属性
animation-name重置为none

像下面的代码:

$( document ).ready(function() { $('#cloc').click(function () { $('p').removeClass('anim').promise().done(function() { $('p').addClass('anim'); setTimeout(function() { $('p').removeClass('anim'); },1000); }); }); });
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!