请参阅代码: http://jsbin.com/amavud/2
问题:在实现requestAnimationFrame的浏览器中,当带有动画的制表符设置为背景(打开新标签页)时,动画时间就会停止。
问题:我对requestAnimationFrame的理解是动画应该在移动到后台选项卡时停止,但是从这个例子看,似乎webkit浏览器完成当前动画并且然后停止。
问题似乎来自于第二个和第三个球在移动之前需要延迟的事实,需要一个setTimeout。 requestAnimationFrame在jQuery中实现的方式有问题,还是我只是编码错了?
我尝试使用delay()和queue()来关注http://api.jquery.com/animate/上的建议,但似乎无法获得正确的效果。
答案 0 :(得分:0)
我不认为你编码的方式,但requestAnimationFrame不在后台工作的事实,所以它停止。或者至少这是保罗爱尔兰用粗体说的“如果你在一个看不见的标签中运行动画循环,浏览器就不会让它继续运行”。 http://paulirish.com/2011/requestanimationframe-for-smart-animating/
由于这个js甚至不能在任何浏览器中工作,我不知道你为什么要实现它。
答案 1 :(得分:0)
在requestAnimationFrame(1.4.2)之前使用旧版本的jQuery。似乎错了。我认为rAF尚未正确实施。