更新requestAnimationFrame

时间:2017-09-23 19:46:48

标签: javascript animation

我正在尝试更新请求动画帧功能中的全局值并获取更新的值。我该怎么做

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);

这应该在每次动画帧运行时查看苍蝇的位置

1 个答案:

答案 0 :(得分:2)

  

/ *我认为这是范围问题* /

这不是一个范围问题。这是一个时间问题。在您传递给flyPos的回调运行之前,rAF不会设置{<1>} 之后

如果要在每次console.log回调运行时记录苍蝇的位置,请将rAF放入回调中。