检测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);
}
我用一个匿名函数包装它,以确保该框架将有一个对它的作用域引用
另一种可能更干净、更可取的方法是,在动画结束时对元素应用一个类,然后监听该更改。是否尝试检测间隔结束?可能重复