


How Can I Use JavaScript Variables to Dynamically Set WebKit Keyframe Values?
Use JavaScript to Set Webkit Keyframes Values with Variables
You're facing a common challenge when trying to utilize random values generated in JavaScript for CSS animations. JavaScript variables cannot be directly injected into CSS keyframes.
Instead, you need to create the CSS rules dynamically through JavaScript and insert them into the CSS Object Model (CSSOM).
Dynamic Keyframe Creation
Follow these steps to create and manipulate keyframes dynamically:
- Create the desired keyframe animation object using the window.document.createElement() method. This object will serve as a container for your keyframe definitions.
- Define the actual keyframes using the keyframes.insertRule() method. This method takes two parameters: the keyframe percentage and the CSS rules for that percentage.
- Insert the newly created keyframe animation into the CSSOM using the sheet.insertRule() method.
Example
Here's an example that dynamically creates and overwrites an existing keyframe animation with random rotation values:
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); }
Usage
You can use this function to continually update the rotation keyframes with random values. For instance, you could have a button that triggers a click event to generate new random degrees and update the keyframes accordingly.
Remember to replace dogValue with your randomly generated degree value.
The above is the detailed content of How Can I Use JavaScript Variables to Dynamically Set WebKit Keyframe Values?. For more information, please follow other related articles on the PHP Chinese website!

Yes,youshouldlearnbothFlexboxandGrid.1)Flexboxisidealforone-dimensional,flexiblelayoutslikenavigationmenus.2)Gridexcelsintwo-dimensional,complexdesignssuchasmagazinelayouts.3)Combiningbothenhanceslayoutflexibilityandresponsiveness,allowingforstructur

What does it look like to refactor your own code? John Rhea picks apart an old CSS animation he wrote and walks through the thought process of optimizing it.

CSSanimationsarenotinherentlyhardbutrequirepracticeandunderstandingofCSSpropertiesandtimingfunctions.1)Startwithsimpleanimationslikescalingabuttononhoverusingkeyframes.2)Useeasingfunctionslikecubic-bezierfornaturaleffects,suchasabounceanimation.3)For

@keyframesispopularduetoitsversatilityandpowerincreatingsmoothCSSanimations.Keytricksinclude:1)Definingsmoothtransitionsbetweenstates,2)Animatingmultiplepropertiessimultaneously,3)Usingvendorprefixesforbrowsercompatibility,4)CombiningwithJavaScriptfo

CSSCountersareusedtomanageautomaticnumberinginwebdesigns.1)Theycanbeusedfortablesofcontents,listitems,andcustomnumbering.2)Advancedusesincludenestednumberingsystems.3)Challengesincludebrowsercompatibilityandperformanceissues.4)Creativeusesinvolvecust

Using scroll shadows, especially for mobile devices, is a subtle bit of UX that Chris has covered before. Geoff covered a newer approach that uses the animation-timeline property. Here’s yet another way.

Let’s run through a quick refresher. Image maps date all the way back to HTML 3.2, where, first, server-side maps and then client-side maps defined clickable regions over an image using map and area elements.

The State of Devs survey is now open to participation, and unlike previous surveys it covers everything except code: career, workplace, but also health, hobbies, and more.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

Dreamweaver CS6
Visual web development tools

Notepad++7.3.1
Easy-to-use and free code editor
