我脑子里有这个想法,但想知道它是如何完成的,或者是否有可能。
我有一个这样的请求动画帧:
window.requestAnimFrame = (function(){
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function( callback, element){
window.setTimeout(callback, 1000 / 60);
};
})();
我想要做的是当它调用一个函数并且动画结束时......我希望它停止调用一些方法。
所以这将是我的想法的伪逻辑:
do{
var result = requestAnimFrame( my_function.bind(null,start) );
}while(result == true);
//rest of code should not run until animation is finished
这可能吗?如果是这样,我将如何更改我的函数以支持返回?
编辑这是我的动画功能....
function my_function(start){
var now = new Date().getTime() / 1000;
var into_anim = now - start;
amount = 0.5000;
opacity = amount * (into_anim - 10);
opacity = parseFloat(opacity.toFixed(5))
if(opacity > 1){ opacity = 1; }
if(opacity != 1){
requestAnimFrame(my_function.bind(null,start));
}
}