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.
我想做的是根据我得到的变量,将关键帧中的 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.