我正在尝试更新请求动画帧功能中的全局值并获取更新的值。我该怎么做
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);
这应该在每次动画帧运行时查看苍蝇的位置
答案 0 :(得分:2)
/ *我认为这是范围问题* /
这不是一个范围问题。这是一个时间问题。在您传递给flyPos
的回调运行之前,rAF
不会设置{<1>} 之后 。
如果要在每次console.log
回调运行时记录苍蝇的位置,请将rAF
放入回调中。