Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.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动画结束_Javascript_Html_Css_Animation - Fatal编程技术网

检测javascript动画结束

检测javascript动画结束,javascript,html,css,animation,Javascript,Html,Css,Animation,我现在正在写这样的动画 函数动画(元素、角度、x、y){ 变量id=设置间隔(第5帧); 函数框架(){ 如果(/*测试完成的*/){ 清除间隔(id); }否则{ /*更改元素样式*/ } } }我想到的最简单的方法,不一定是最好的方法,是提供回调函数 function animate(element, angle, x, y, callbackFunction){ (function(callback){ var id = setInterval(frame, 5);

我现在正在写这样的动画

函数动画(元素、角度、x、y){
变量id=设置间隔(第5帧);
函数框架(){
如果(/*测试完成的*/){
清除间隔(id);
}否则{
/*更改元素样式*/
}
}

}
我想到的最简单的方法,不一定是最好的方法,是提供回调函数

function animate(element, angle, x, y, callbackFunction){
  (function(callback){
    var id = setInterval(frame, 5);
    function frame(){
      if (test for finished) {
        clearInterval(id);
        callback();
      } else { ... }
  })(callbackFunction);
}
我用一个匿名函数包装它,以确保该框架将有一个对它的作用域引用


另一种可能更干净、更可取的方法是,在动画结束时对元素应用一个类,然后监听该更改。

是否尝试检测间隔结束?可能重复