Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当元素已经有一个css动画时,如何启动一个新的css动画?_Javascript_Css_Css Animations - Fatal编程技术网

Javascript 当元素已经有一个css动画时,如何启动一个新的css动画?

Javascript 当元素已经有一个css动画时,如何启动一个新的css动画?,javascript,css,css-animations,Javascript,Css,Css Animations,我有一个元素,它已经有一个在某个时间触发的动画: .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; } 但在某些时候,总是在动画完成之

我有一个元素,它已经有一个在某个时间触发的动画:

.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');
但它不起作用。类被添加,但动画没有发生。
有人知道为什么会发生这种情况以及如何修复吗?

关键帧的名称稍有不同,不适合调用。很抱歉,这太愚蠢了…

因为所有动画属性除了名称之外都是相同的,请尝试设置
动画名称
而不是整个动画属性。很抱歉引入jQuery,但您可以尝试
$.animate({},timeDelay,callbackFunction)
。在callbackfunc中,您可以再次设置动画。另一种选择是在加载此元素时添加setTimeout,然后添加另一类第二个动画。但不确定这是否有效。我还建议使用动画功能。你想用你的代码实现什么?请添加JSFIDLE。。。您的代码根本不做动画。。。