javascript - 切换到另一个选项卡时,animationend 不起作用

标签 javascript

我有这个 JavaScript:

$(function(){
    var aE = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend';
    $('.animate').one(aE, function(){
        alert('Animation End !!!');
    });
});

当我的选项卡位于前台时,它可以正常工作。但是当我切换到另一个选项卡时,它会暂停。如果我切换回我的选项卡,它将恢复工作然后显示警报。

即使我有另一个选项卡处于事件状态,我也希望我的处理程序能够触发。

最佳答案

对我来说,当选项卡处于非事件状态时,浏览器暂停前端处理看起来是明智的:框架、计时器等。

在我看来,如果您需要在动画结束时执行某些操作并且确切的时间对您很重要,您需要完全重新考虑它,您不能依赖这些事件/动画/计时器。

也许网络 worker 可以满足您的需求?

https://jsfiddle.net/23rgtotc/3/ console.log('start', new Date());

上面的示例/日志显示,事件触发的时间是您返回选项卡时,而不仅仅是 5 秒后。

https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame

requestAnimationFrame() calls are paused in most browsers when running in background tabs or hidden s in order to improve performance and battery life.

https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout

To reduce the load (and associated battery usage) from background tabs, timeouts are throttled to firing no more often than once per second (1000 ms) in inactive tabs.

关于javascript - 切换到另一个选项卡时,animationend 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48338081/

相关文章:

javascript - 为什么在某些网站上无法查看背景图像

javascript - 将元素文本转换为 Protractor 中的对象

javascript - 使用 event.target 与选择元素

javascript - jquery的自动完成功能中出现错误 "this.source is not a function."

javascript - 100% body 高度(内容动态加载)

javascript - 如何通过单击表格中的名称来突出显示选定的 map 区域?

javascript - 如何只在移动设备上运行jquery代码?

javascript - sendKeys(protractor.Key.Tab) 不起作用

javascript - 异步加载Google网络字体脚本链接

javascript - 创建解析角色层次结构失败并显示 'parent is undefined'