为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript怎么修改@keyframes

JavaScript怎么修改@keyframes

凤凰求蛊 2019-04-16 16:58:46
可以在stylesheet取得@keyframes,但是比如vara=doucment.styleSheets[0].cssrules[2];keyframes也就是a不存在style属性,倒是可以用a.cssRules[i].cssText取得keyframe括号里的属性,但是修改的话不行,也用过deleteRules可以删除规则,但是insertRule却是undefined,不知道到底怎么修改keyframes?还有假如动画正在运行的,话我通过js把它暂停了,在对他修改能否有效?
查看完整描述

2 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

今天也遇到类似需求,国内搜索引擎得到的答案,如何也不能很好的工作(?),还是国外给的答案参考性更为靠谱,参考how-to-dynamically-create-keyframe-css-animations;
vardynamicValue="33.3";
var="@-webkit-keyframesrun{0%{transform:translateX(0%);-webkit-transform:translateX(0%);}\n"+
"100%{transform:translateX("+dynamicValue+"%);-webkit-transform:translateX("+dynamicValue+"%);}}";
varstyle=document.createElement('style');
style.type='text/css';
style.innerHTML='';
document.getElementsByTagName('head')[0].appendChild(style);
this.stylesheet=document.styleSheets[document.styleSheets.length-1];
try{
this.stylesheet.insertRule(rule,this.stylesheet.rules.length);
}catch(e){
};
如上方法亲测可行(@16-06-28)。
                            
查看完整回答
反对 回复 2019-04-16
  • 2 回答
  • 0 关注
  • 973 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信