Heim > Web-Frontend > CSS-Tutorial > Wie erstelle ich dynamisch CSS-@-Keyframes-Animationen basierend auf Serverantworten?

Wie erstelle ich dynamisch CSS-@-Keyframes-Animationen basierend auf Serverantworten?

DDD
Freigeben: 2024-11-12 22:54:02
Original
646 Leute haben es durchsucht

How to Dynamically Create CSS @-keyframes Animations Based on Server Responses?

Dynamisches Generieren von CSS-@-Keyframes-Animationen

Szenario

Sie müssen ein Div drehen und es an einer bestimmten Position stoppen, die durch eine Serverantwort bestimmt wird . Die Verwendung von nativem JS zum Drehen und Anhalten verbraucht übermäßige CPU-Ressourcen.

Lösung

Nutzen Sie CSS-Animationen für die Drehung, erfordern aber eine dynamisch definierte Klasse, um die Stoppposition anzugeben:

@-webkit-keyframes spinIt {
    100% {
        -webkit-transform: rotate(A_DYNAMIC_VALUE);
    }
}
@-moz-keyframes spinIt {
    100% {
        -webkit-transform: rotate(A_DYNAMIC_VALUE);
    }
}
Nach dem Login kopieren

Implementierung

Stylesheet-Regeln dynamisch einfügen, um vorherige zu überschreiben Stile:

var style = document.createElement('style');
style.type = 'text/css';
var keyFrames = '\
@-webkit-keyframes spinIt {\
    100% {\
        -webkit-transform: rotate(A_DYNAMIC_VALUE);\
    }\
}\
@-moz-keyframes spinIt {\
    100% {\
        -webkit-transform: rotate(A_DYNAMIC_VALUE);\
    }\
}';
style.innerHTML = keyFrames.replace(/A_DYNAMIC_VALUE/g, "180deg");
document.getElementsByTagName('head')[0].appendChild(style);
Nach dem Login kopieren

Ersetzen Sie A_DYNAMIC_VALUE durch die gewünschte Stoppposition (z. B. „180 Grad“) und hängen Sie das Stilelement an den Kopf des Dokuments an, um die Animation dynamisch anzuwenden.

Das obige ist der detaillierte Inhalt vonWie erstelle ich dynamisch CSS-@-Keyframes-Animationen basierend auf Serverantworten?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage