Je suis novice en matière d'animation, mais j'ai récemment créé une animation à l'aide de setTimeout
. Le FPS était trop faible, j'ai donc trouvé une solution pour utiliser requestAnimationFrame
décrite dans le présent document. lien .
Jusqu'à présent, mon code est :
//shim layer with setTimeout fallback
window.requestAnimFrame = (function(){
return
window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(/* function */ callback){
window.setTimeout(callback, 1000 / 60);
};
})();
(function animloop(){
//Get metrics
var leftCurveEndX = finalLeft - initialLeft;
var leftCurveEndY = finalTop + finalHeight - initialTop;
var rightCurveEndX = finalLeft + finalWidth - initialLeft - initialWidth;
var rightCurveEndY = leftCurveEndY;
chopElement(0, 0, 0, 0, leftCurveEndX, leftCurveEndY, rightCurveEndX, rightCurveEndY);//Creates a new frame
requestAnimFrame(animloop);
})();
Cela s'arrête pendant la première image. J'ai une fonction de rappel requestAnimFrame(animloop);
dans le chopElement
fonction.
Par ailleurs, existe-t-il un guide plus complet sur l'utilisation de cette API ?