我有一个带有 requesetAnimationFrame 的动画,当我重播它时,它变得越来越快,直到它变得不可见。
function tirer(){
var missile=document.getElementById("missile");
var currt= missile.currentStyle ||window.getComputedStyle(missile);
if ( parseInt(currt.bottom)<700)
missile.style.bottom=parseInt(missile.style.bottom)+20+"px";
else
alert ( "in top");
}
function animation (){
tirer();
requestAnimationFrame(animation);
}
如何让它保持稳定、恒定的速度?
最佳答案
您可能多次调用 animation()
(例如,每当单击按钮时)。
每次调用 animation()
都会开始一个新的重复 requestAnimationFrame()
-> animation()
-> requestAnimationFrame()
-> animation()
-> ... 序列。
E. G。如果你调用 animation()
两次,你有两个这样的序列在运行,你的帧速率将加倍。
在发送新请求之前,您需要取消当前正在进行的动画帧请求。参见 How to stop a requestAnimationFrame recursion/loop?
关于JavaScript:requestAnimationFrame 变得更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37797493/