私はこの考えを頭の中に持っていますが、それがどのように行われるのか、あるいはそれが可能であるのかどうか疑問に思っています。
次のようなリクエストアニメーションフレームがあります。
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));
}
}