1
我试图更新请求中的全局值动画帧函数并获取更新后的值。我怎么做这个请求中的全局变量的更新值AnimationAnimationFrame
var flyPos;
function drawFrame() {
window.requestAnimationFrame(drawFrame);
transX = Math.sin(angleX) * range;
transY = Math.sin(angleY) * range;
fly.style.transform = `translate3d(${transX}px,${transY}px,0)`
angleX += xspeed;
angleY += yspeed;
flyPos = fly.getBoundingClientRect();
return flyPos;
/*我觉得这是范围界定问题*/ }
window.requestAnimationFrame(drawFrame);
console.log(flyPos);
这应该看每次飞行的动画帧的位置运行
是console.log语句注销'undefined'的问题? –
嗨@NicholasTower,是的,它说 –
这不是一个范围界定问题。这是一个计时问题。 ''flyPos'不会被设置,直到'rAF'运行它的回调,这将在你的'console.log'之后**。如果您想每次运行'rAF'时记录飞行的位置,则将'console.log'放入回调中。当然,随着您的代码现在,回调将只运行一次。 – 2017-09-23 19:51:24