我有一个实时的应用程序,我在屏幕上动画某些元素来回在某些websocket启用的事件触发(例如事件" movelleft "和事件"moveRight")。当用户访问另一个浏览器选项卡并在许多这些事件触发后返回时,他们会看到整个动画序列正在执行(在每个事件触发时使用.animate()),即使它们不再与用户相关。我想要的是,当用户离开选项卡时,动画可以有效地发生,这样当他们重新访问选项卡时,他们看到的是当前的世界状态,而只是错过了在另一个浏览器选项卡中触发的所有动画。
我似乎找不到任何关于这个问题的文档;它与需要在动画化其他互斥事物之前调用.stop()的解决方案相似,以便在过多的鼠标悬停事件之后不会出现堆积,但这并不真正适用于此。如有任何建议,不胜感激。
这里有一个类似的问题:如果你移开
在你的情况下,因为websockets触发动画,一个解决方案可能是观察窗口是否有焦点,只在焦点时触发动画