Heim Web-Frontend CSS-Tutorial Wie kann ich JavaScript-Variablen verwenden, um WebKit-Keyframe-Werte dynamisch festzulegen?

Wie kann ich JavaScript-Variablen verwenden, um WebKit-Keyframe-Werte dynamisch festzulegen?

Nov 29, 2024 pm 08:55 PM

How Can I Use JavaScript Variables to Dynamically Set WebKit Keyframe Values?

Verwenden Sie JavaScript, um Webkit-Keyframes-Werte mit Variablen festzulegen

Sie stehen vor einer häufigen Herausforderung, wenn Sie versuchen, in JavaScript generierte Zufallswerte für zu verwenden CSS-Animationen. JavaScript-Variablen können nicht direkt in CSS-Keyframes eingefügt werden.

Stattdessen müssen Sie die CSS-Regeln dynamisch über JavaScript erstellen und in das CSS Object Model (CSSOM) einfügen.

Dynamisch Keyframe-Erstellung

Folgen Sie diesen Schritten, um Keyframes zu erstellen und zu bearbeiten dynamisch:

  1. Erstellen Sie das gewünschte Keyframe-Animationsobjekt mit der Methode window.document.createElement(). Dieses Objekt dient als Container für Ihre Keyframe-Definitionen.
  2. Definieren Sie die tatsächlichen Keyframes mit der Methode keyframes.insertRule(). Diese Methode benötigt zwei Parameter: den Keyframe-Prozentsatz und die CSS-Regeln für diesen Prozentsatz.
  3. Fügen Sie die neu erstellte Keyframe-Animation mit der Methode sheet.insertRule() in das CSSOM ein.

Beispiel

Hier ist ein Beispiel, das dynamisch eine vorhandene Keyframe-Animation mit zufälliger Rotation erstellt und überschreibt Werte:

function createRandomRotation(dogValue) {
  // Create the keyframe animation object
  let rotateAnimation = window.document.createElement('style');

  // Define the actual keyframes
  rotateAnimation.innerHTML = `
    @-webkit-keyframes rotate {
      0% {-webkit-transform: rotate(-${dogValue});}
      100% {-webkit-transform: rotate(${dogValue});}
    }

    #dog {
      -webkit-animation: rotate 5s infinite alternate ease-in-out;
    }
  `;

  // Insert the keyframe animation into the CSSOM
  window.document.head.appendChild(rotateAnimation);
}
Nach dem Login kopieren

Verwendung

Mit dieser Funktion können Sie die Rotations-Keyframes kontinuierlich mit zufälligen Werten aktualisieren. Sie könnten beispielsweise eine Schaltfläche haben, die ein Klickereignis auslöst, um neue zufällige Grade zu generieren und die Keyframes entsprechend zu aktualisieren.

Denken Sie daran, dogValue durch Ihren zufällig generierten Gradwert zu ersetzen.

Das obige ist der detaillierte Inhalt vonWie kann ich JavaScript-Variablen verwenden, um WebKit-Keyframe-Werte dynamisch festzulegen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hinzufügen von Kastenschatten zu WordPress -Blöcken und -Elementen Hinzufügen von Kastenschatten zu WordPress -Blöcken und -Elementen Mar 09, 2025 pm 12:53 PM

Hinzufügen von Kastenschatten zu WordPress -Blöcken und -Elementen

Erstellen Sie ein JavaScript -Kontaktformular mit dem Smart Forms Framework Erstellen Sie ein JavaScript -Kontaktformular mit dem Smart Forms Framework Mar 07, 2025 am 11:33 AM

Erstellen Sie ein JavaScript -Kontaktformular mit dem Smart Forms Framework

Erstellen Sie einen Inline -Texteditor mit dem inhaltlichen Attribut Erstellen Sie einen Inline -Texteditor mit dem inhaltlichen Attribut Mar 02, 2025 am 09:03 AM

Erstellen Sie einen Inline -Texteditor mit dem inhaltlichen Attribut

Arbeiten mit GraphQL Caching Arbeiten mit GraphQL Caching Mar 19, 2025 am 09:36 AM

Arbeiten mit GraphQL Caching

Vergleich der 5 besten PHP -Formbauer (und 3 kostenlose Skripte) Vergleich der 5 besten PHP -Formbauer (und 3 kostenlose Skripte) Mar 04, 2025 am 10:22 AM

Vergleich der 5 besten PHP -Formbauer (und 3 kostenlose Skripte)

Machen Sie Ihren ersten Seltsamen -Sufle -Übergang Machen Sie Ihren ersten Seltsamen -Sufle -Übergang Mar 15, 2025 am 11:08 AM

Machen Sie Ihren ersten Seltsamen -Sufle -Übergang

Entmystifizierende Bildschirmleser: Zugrunde Formen und Best Practices Entmystifizierende Bildschirmleser: Zugrunde Formen und Best Practices Mar 08, 2025 am 09:45 AM

Entmystifizierende Bildschirmleser: Zugrunde Formen und Best Practices

Datei hochladen mit Multer in node.js und ausdrücken Datei hochladen mit Multer in node.js und ausdrücken Mar 02, 2025 am 09:15 AM

Datei hochladen mit Multer in node.js und ausdrücken

See all articles