javascript - 我如何通过 javascript 为 css 代码运行这篇文章

标签 javascript jquery css animation stylesheet

感谢您抽出时间对此进行调查,我们将不胜感激。

我有以下一段代码。

.middle_n.expand.remove
{
 animation: contractm 0.3s forwards;
 transform-origin: 0 75px;
 height:200%;
 animation-delay: 1.3s;
}

@keyframes contractm 
{
 0%{}
 100%{transform:translate(147.8%,100%) rotate(-16.75deg);}
}

我希望通过 javascript 传递动态值以在 contractm 中旋转。我怎么做。多步动画可以通过javascript运行吗?

再次感谢。

最佳答案

在我看来,如果你想控制你的动画而不是让它动起来,我的建议是你可以使用js来控制你的元素的样式。因为动画就是完成一系列的动画。

还有一个非常强大的css叫做css变量,你可以在https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties上了解更多细节。 .

const rotate=document.getElementById("rotate")
let r=0
rotate.addEventListener("click",()=>{
  r += 10
  rotate.style.setProperty("--rotate", r+"deg");
})
#rotate{
  --rotate:0deg;
  background:pink;
  width:100px;
  height:100px;
  transform:rotate(var(--rotate));
  transition:transform 1s;
}
<p>click the square and then it will rotate.</p>
<div id="rotate"></div>

当然,如果你想要系列动画,可以上https://developer.mozilla.org/en-US/docs/Web/CSS/animation查看.在动画中设置步骤很容易。

关于javascript - 我如何通过 javascript 为 css 代码运行这篇文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55214216/

相关文章:

javascript - React - 模块解析失败 : Unexpected Token. 您可能需要适当的加载程序来处理此文件类型

javascript - 通过 JavaScript 循环加载的项目未按正确顺序显示

html - 为什么百分比填充/边距不适用于 Firefox 和 Edge 中的 flex 元素?

css 转换不能与 firefox 一起正常工作

javascript - 外部文件 - 良好的编程习惯

javascript - 使用 javascript 中的折衷库对句子进行复数/单数化

javascript - Web 组件中的触发事件

javascript - Jquery 对话框中的单选按钮

javascript - 链接到外部页面上的特定位置

javascript - 使用 javascript 测试是否单击/触发了一个功能,然后禁用另一个功能。