Heim > Web-Frontend > CSS-Tutorial > Wie kann ich CSS3-Animationen nur mit JavaScript anhalten und fortsetzen?

Wie kann ich CSS3-Animationen nur mit JavaScript anhalten und fortsetzen?

Linda Hamilton
Freigeben: 2024-12-07 10:43:11
Original
689 Leute haben es durchsucht

How Can I Pause and Resume CSS3 Animations Using Only JavaScript?

CSS3-Animation mit JavaScript anhalten und fortsetzen

Problem:

So pausieren und fortsetzen eine CSS3-Animation mit JavaScript, ohne auf externe Ressourcen angewiesen zu sein Bibliotheken?

Lösung:

  1. CSS-Animation:

Animation mithilfe von CSS-Keyframes definieren, Angabe der Deckkraftwerte und des Timings für jeden Schritt.

  1. Pause und Fortsetzungsfunktionen:

Erstellen Sie JavaScript-Funktionen zum Anhalten und Fortsetzen der Animation:

const pauseAnimation = (element) => {
  element.style.animationPlayState = "paused";
};

const resumeAnimation = (element) => {
  element.style.animationPlayState = "running";
};
Nach dem Login kopieren
  1. Ereignis-Listener:

Fügen Sie Ereignis-Listener zu den animierten Elementen hinzu, um das Anhalten und Fortsetzen auszulösen Aktionen:

document.getElementById("pic1").addEventListener("click", () => {
  pauseAnimation(document.getElementById("pic1"));
});

document.getElementById("pic2").addEventListener("click", () => {
  resumeAnimation(document.getElementById("pic2"));
});
Nach dem Login kopieren

Zusätzliche Hinweise:

  • Um sicherzustellen, dass die Animation mehrmals angehalten werden kann, löschen Sie die vorhandenen Ereignis-Listener, bevor Sie neue hinzufügen.
  • Alternativ können Sie den im bereitgestellten CSS-Klassenansatz vorgeschlagenen verwenden Antwort:
.paused{
    -webkit-animation-play-state:paused;
    -moz-animation-play-state:paused;
    -o-animation-play-state:paused; 
    animation-play-state:paused;
}
Nach dem Login kopieren
const pauseAnimation = (element) => {
  element.classList.add("paused");
};

const resumeAnimation = (element) => {
  element.classList.remove("paused");
};
Nach dem Login kopieren

Dadurch können Sie die Animation anhalten und fortsetzen, indem Sie einfach diese CSS-Klasse umschalten, ohne dass Ereignis-Listener erforderlich sind.

Das obige ist der detaillierte Inhalt vonWie kann ich CSS3-Animationen nur mit JavaScript anhalten und fortsetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage