我制作了一个类似于itunes在mac上用作屏幕保护程序的封面流的小动画。它使用ajax获取带有文件名的列表,并开始循环遍历它们以随机填充div。
演示代码: http://jsfiddle.net/FQmXK/4/
所有这些都很有效,但问题是在您最小化浏览器或转到Google Chrome上的其他标签时开始。动画似乎排队了一堆循环并尝试在窗口再次打开时执行所有循环。这导致各种各样的问题,图像未定义,屏幕上各种闪烁......
我想知道这个排队行为是否有任何已建立的解决方案?我可以强制它执行所有动画,即使它不可见吗?
答案 0 :(得分:1)
您可以检测浏览器窗口焦点: Is there a way to detect if a browser window is not currently active?
并设置变量。 如果窗口处于非活动状态,请将变量设置为false,并且不要对其他动画进行排队 直到窗口变为活动状态。
答案 1 :(得分:1)
这个问题讨论了同样的问题并提供了一个通用的解决方案:
How can I make setInterval also work when a tab is inactive in Chrome?