【发布时间】:2016-02-17 18:45:51
【问题描述】:
我有这个元素,它已经有一个在某个时间触发的动画:
.box {
width: 100%;
height: 87.5%;
background: #DDD;
position: absolute;
top: 12.5%;
left: 0%;
-webkit-animation: load 0.5s ease-out 5s backwards;
animation: load 0.5s ease-out 5s backwards;
}
但有时,总是在该动画完成后,我想在同一个元素上触发一个新动画。所以我认为创建一个新类并用 JS 将其附加到元素上会起作用:
.unload{
-webkit-animation: unload 0.5s ease-out 0.5s backwards !important;
animation: unload 0.5s ease-out 0.5s backwards !important;
}
document.querySelector(".box").classList.add('unload');
但它不起作用。类被添加,但动画没有发生。 有谁知道为什么会发生这种情况以及如何解决?
【问题讨论】:
-
由于除了名称之外所有动画属性都相同,请尝试设置
animation-name而不是整个动画属性 -
很抱歉介绍 jQuery,但你可以试试
$.animate({},timeDelay, callbackFunction)。在回调函数内部,你可以再次动画。 -
另一种选择是在加载此元素时添加一个 setTimeout,然后添加另一类第二个动画。但不确定这是否有效。我也建议使用动画功能。
-
你想用你的代码实现什么?请添加 jsFiddle...您的代码根本没有做动画...
标签: javascript css css-animations