用于更改外部css表中的关键帧值的Javascript(无内联样式更改!)

时间:2015-01-18 06:41:00

标签: javascript css3 rotation css-animations

我想要做的是取决于我得到的变量,将关键帧中的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);
    }       
}

任何帮助将不胜感激!我一直试图找到一些可以工作一周左右的东西。

2 个答案:

答案 0 :(得分:0)

因此,正如adeneo所提到的,不可能让javascript更改外部样式表。

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

答案 1 :(得分:0)

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