Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 切换到其他选项卡时,动画结束不工作_Javascript - Fatal编程技术网

Javascript 切换到其他选项卡时,动画结束不工作

Javascript 切换到其他选项卡时,动画结束不工作,javascript,Javascript,我有一个JavaScript: $(function(){ var aE = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend'; $('.animate').one(aE, function(){ alert('Animation End !!!'); }); }); 当我的标签在前台时,它可以正常工作。但当我切换到另一个选项卡时,它会暂停。如果我

我有一个JavaScript:

$(function(){
    var aE = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend';
    $('.animate').one(aE, function(){
        alert('Animation End !!!');
    });
});
当我的标签在前台时,它可以正常工作。但当我切换到另一个选项卡时,它会暂停。如果我切换回我的选项卡,它将恢复工作,然后显示警报


我希望我的处理程序即使在另一个选项卡处于活动状态时也能启动。

在我看来,浏览器在选项卡处于非活动状态时暂停前端处理是明智的:帧、计时器等

在我看来,如果你需要在动画结束时做一些事情,而准确的时间对你来说很重要,你需要彻底地重新思考,你不能依赖那些事件/动画/计时器

如果能满足你的需要,也许是网络工作者

控制台。日志“开始”,新日期

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

requestAnimationFrame调用在大多数浏览器中在后台选项卡或隐藏窗口中运行时暂停,以提高性能和电池寿命

为了减少后台选项卡的负载和相关电池使用量,将超时限制为在非活动选项卡中每秒不超过1000毫秒触发一次


不确定网络工作者的建议在这里是否有意义;我无法想象它们会成为animationend处理程序的合理替代品。