javascript - 一种读取或更改 CSS 动画关键帧的方法

标签 javascript css html css-animations keyframe

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

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

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

最佳答案

多亏了评论,我才能够得到这个解决方案:

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);
        }
      }
    }
  }
}

关于javascript - 一种读取或更改 CSS 动画关键帧的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20419379/

相关文章:

jquery - 在jquery中按类获取文本

javascript - 检查文件名中的无效字符(特殊字符和国际字符)而不验证文件路径

javascript - 使用字符串数组过滤对象数组以获取带有 '&&' 子句的结果

javascript - CSS - 如何将 div 相对于定位为封面的背景图像居中

html - 响应式设计布局

css - 如何停止环绕菜单 div 的 div

javascript - 关于如何从数据库检索数据并将其用作变量的建议

html - 如何在 Safari 的地址字段中禁用自动完成功能?

javascript - backbonejs - 为什么这个backbonejs模型内容没有改变?

javascript - 如何在选中一个切换开关时取消选中所有切换开关?