使用 JavaScript 通过变量设置 Webkit 关键帧值
在尝试使用 JavaScript 中生成的随机值时,您面临着一个常见的挑战CSS 动画。 JavaScript 变量无法直接注入 CSS 关键帧。
相反,您需要通过 JavaScript 动态创建 CSS 规则并将其插入到 CSS 对象模型 (CSSOM) 中。
动态关键帧创建
按照以下步骤创建和操作关键帧动态:
- 使用 window.document.createElement() 方法创建所需的关键帧动画对象。该对象将用作关键帧定义的容器。
- 使用 keyframes.insertRule() 方法定义实际关键帧。此方法采用两个参数:关键帧百分比和该百分比的 CSS 规则。
- 使用sheet.insertRule() 方法将新创建的关键帧动画插入到 CSSOM 中。
示例
这是一个动态创建和覆盖现有关键帧的示例具有随机旋转值的动画:
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); }
用法
您可以使用此函数以随机值不断更新旋转关键帧。例如,您可以有一个按钮,触发单击事件来生成新的随机度数并相应地更新关键帧。
请记住将dogValue 替换为随机生成的度数。
以上是如何使用 JavaScript 变量动态设置 WebKit 关键帧值?的详细内容。更多信息请关注PHP中文网其他相关文章!

选择Flexbox还是Grid取决于布局需求:1)Flexbox适用于一维布局,如导航栏;2)Grid适合二维布局,如杂志式布局。两者在项目中可结合使用,提升布局效果。

包含CSS文件的最佳方法是使用标签在HTML的部分引入外部CSS文件。1.使用标签引入外部CSS文件,如。2.对于小型调整,可以使用内联CSS,但应谨慎使用。3.大型项目可使用CSS预处理器如Sass或Less,通过@import导入其他CSS文件。4.为了性能,应合并CSS文件并使用CDN,同时使用工具如CSSNano进行压缩。

是的,youshouldlearnbothflexboxandgrid.1)flexboxisidealforone-demensional,flexiblelayoutslikenavigationmenus.2)gridexcelstcelsintwo-dimensional,confffferDesignssignssuchasmagagazineLayouts.3)blosebothenHancesSunHanceSlineHancesLayOutflexibilitibilitibilitibilitibilityAnderibilitibilityAndresponScormentilial anderingStruction

重构自己的代码看起来是什么样的?约翰·瑞亚(John Rhea)挑选了他写的一个旧的CSS动画,并介绍了优化它的思维过程。

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

@keyframesispopularduetoitsversatoryand and powerincreatingsmoothcssanimations.keytricksinclude:1)definingsmoothtransitionsbetnestates,2)使用AnimatingmatematingmultationmatingMultationPropertiessimultane,3)使用使用4)使用BombingeNtibalibility,4)使用BombingingWithjavofofofofofoffo

CSSCOUNTERSAREDOMANAGEAUTOMANAMBERINGINWEBDESIGNS.1)他们可以使用forterablesofcontents,ListItems,and customnumbering.2)AdvancedsincludenestednumberingSystems.3)挑战挑战InclassINCludeBrowsEccerCerceribaliblesibility andperformiballibility andperformissises.4)创造性

使用滚动阴影,尤其是对于移动设备,是克里斯以前涵盖的一个微妙的UX。杰夫(Geoff)涵盖了一种使用动画限制属性的新方法。这是另一种方式。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

Dreamweaver Mac版
视觉化网页开发工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。