search

Home  >  Q&A  >  body text

css - JavaScript怎么修改@keyframes

可以在stylesheet取得@keyframes,但是比如
var a = doucment.styleSheets[0].cssrules[2];
keyframes也就是a不存在style属性,倒是可以用a.cssRules[i].cssText取得keyframe括号里的属性,但是修改的话不行,也用过deleteRules可以删除规则,但是insertRule却是undefined,不知道到底怎么修改keyframes?

还有假如动画正在运行的,话我通过js把它暂停了,在对他修改能否有效?

PHP中文网PHP中文网2820 days ago996

reply all(3)I'll reply

  • 巴扎黑

    巴扎黑2017-04-10 14:58:51

    今天也遇到类似需求,国内搜索引擎得到的答案,如何也不能很好的工作(

    reply
    0
  • 高洛峰

    高洛峰2017-04-10 14:58:51

    直接修改 keyframes 内容似乎不行,所以采取了迂回的路线,重新定义 animation 来达到目的。这个是 DEMO: http://jsfiddle.net/7cesyc3b/2/

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 14:58:51

    keyframes之所以是复数,就是因为它里面还包含很多子样式keyframe
    keyframe相当于普通CSS样式的rule,所以keyframe对象才有 style 属性,可以用来进行修改

    reply
    0
  • Cancelreply