Möglichkeit, zu verhindern, dass die CSS-Animation beim Entfernen einer Klasse stoppt
P粉412533525
2023-08-29 16:15:06
<p>Ich habe ein Raster.
Wenn ich eine Update-Nachricht vom Backend erhalte, muss ich die Zeilen innerhalb von 3 Sekunden orange hervorheben.
Wenn ich ein Update erhalte, füge ich die CSS-Klasse „highlight“ zu meiner Zeile hinzu und spiele meine Animation ab. </p>
<p>
<pre class="brush:css;toolbar:false;">.highlight {
Animationsname: hervorheben;
Animationsdauer: 3s;
}
@keyframes markieren {
0 % {
Hintergrundfarbe: Orange;
}
99,99 % {
Hintergrundfarbe: Orange;
}
}</pre>
</p>
<p>Aus irgendeinem Grund mit dem Nachrichtenfluss in der Anwendung muss ich die Hervorhebungsklasse entfernen, bevor die 3 Sekunden abgelaufen sind, damit meine Animation nicht mehr funktioniert. Ich möchte, dass meine Animation bis zum Ende von 3 Sekunden abgespielt wird. </p>
<p>Wie kann ich meine Animation bis zum Ende abspielen lassen, auch wenn ich die Highlight-Klasse lösche? </p>
一种可能的方法是向元素添加一个data-属性,然后向其添加一个animationend事件监听器,以便在动画完成时,事件监听器知道要移除该类。请参见下面的示例。