我如何通过javascript运行此CSS代码

时间:2019-03-18 03:01:57

标签: 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在合同中进行轮换。我怎么做。可以通过JavaScript运行多步动画吗?

再次感谢。

1 个答案:

答案 0 :(得分:1)

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

有一个非常强大的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上进行检查。设置动画步骤很容易。