简要说明:
我制作了一个 requestAnimation ,它也有 2 个回调,具体取决于计数器;
其中一个回调将增加计数器,另一个将减少它(总是在某个范围内循环0
// arr.length
)。
在停止和重新启动动画之前,一切都按预期工作,
这是激活并应该存储 requestAnimationFrame ( click()
) 的代码:
function start() {
if (!spiral) {
spiral = window.requestAnimationFrame(animation);
}
}
function click() {
if (spiral) {
var trackSpiral = spiral;
spiral = undefined;
window.cancelAnimationFrame(spiral);
} else {
spiral = trackSpiral;
/* (count > precedingCount || count == 0 ) ?
spiral = requestAnimationFrame(animation) :
spiral = requestAnimationFrame(animationReverse);*/
}
}
window.addEventListener('load', start)
window.addEventListener('click', click)
作为一种解决方法,我使用了 aprecidingCount var
并且取决于它是否在增加,它可以决定触发哪个 requestAnimationFrame 回调;
问题:
有人可以解释为什么只存储和调用var
分配给 requestAnimation 的操作不能像我预期的那样工作吗?
是否有更好的模式来停止重新启动 requestAnimation?
这是一支工作笔(查看从 180 到 182 的问题注释行)_