Javascript 更改外部关键帧值 css sheet(无内联样式更改!)

Javascript to change keyframe values in external css sheet (No Inline Style Changes!)

我想做的是根据我得到的变量,将关键帧中的 100% 旋转值更改为新的计算值。我对使用 Javascript 执行此操作没有问题,但我希望它在外部 CSS 中完成,而不是内联,一旦更改我需要重新启动动画。这可能吗?如果是这样,如何? (注意 当前通过单击按钮全部完成)这不会被保存,只是为了用新位置更新图形。

.arrow {
    -webkit-animation: rotate 3s linear 0 1;
    animation: rotate 3s linear 0 1;

    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);

    -webkit-animation-play-state: paused;
    animation-play-state: paused;

    visibility: visible !important; 
}

@-webkit-keyframes rotate {
    0% {
        -webkit-transform: rotate(0deg);
    }   
    100% {
        -webkit-transform: rotate(360deg);
    }   
}

@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }       
}

任何帮助将不胜感激!我一直在努力寻找可以使用大约一周的东西。

因此,正如 adeneo 提到的那样,javascript 无法更改外部样式 sheet。

你可以做的是制作 2 css classes 并使用 javascript 来改变 class。这样您就不会使用内联样式。
此外,因为您正在更改 class,动画将从头开始 - 如您所愿。

可以更改加载的样式表上的关键帧。这里有一个 stack overflow answer from 2011. And here's a link to a recent blog post about it.