一种读出或更改CSS动画关键帧的方法

时间:2013-12-06 08:32:35

标签: javascript css html5 css-animations keyframe

在JavaScript中,很容易获得应用于元素的CSS动画的名称和属性:

var animName = element.style.webkitAnimationName;
// element.style.mozAnimationName
// etc...

但是有没有办法读出甚至更改动画的CSS关键帧?

1 个答案:

答案 0 :(得分:1)

感谢我的评论,我能够得到这个解决方案:

var allStyles = document.styleSheets;
var keyframeType = window.CSSRule.WEBKIT_KEYFRAMES_RULE || window.CSSRule.KEYFRAMES_RULE;

for (var declaration in allStyles) {
  if (allStyles.hasOwnProperty(declaration)) {
    var ruleSet = allStyles[declaration].cssRules;

    for (var rule in ruleSet) {
      if (ruleSet.hasOwnProperty(rule)) {
        var currentRule = ruleSet[rule];

        if (currentRule.type == keyframeType) {
          console.log(currentRule);
        }
      }
    }
  }
}