Javascript jQuery(document).ready()和#x2B;等待焦点

Javascript jQuery(document).ready()和#x2B;等待焦点,javascript,jquery,animation,focus,Javascript,Jquery,Animation,Focus,各位 有人刷新了他们所有的标签。我的选项卡位于非活动的非前景选项卡中 这将运行:jQuery(document).ready()。 因此: 如何使动画仅在选项卡处于活动状态时运行 及 如果选项卡处于前台且处于活动状态,我如何使其运行 我试过: <script>jQuery( document ).ready(function() { jQuery(window).focus(function () { setTimeout(function(){ jQuery('.juiz-

各位

有人刷新了他们所有的标签。我的选项卡位于非活动的非前景选项卡中

这将运行:
jQuery(document).ready()。

因此:

  • 如何使动画仅在选项卡处于活动状态时运行

  • 如果选项卡处于前台且处于活动状态,我如何使其运行
我试过:

<script>jQuery( document ).ready(function() { jQuery(window).focus(function () { setTimeout(function(){ jQuery('.juiz-outdated-message').addClass('active'); }, 500); }); });</script>
jQuery(document).ready(函数(){jQuery(窗口).focus(函数(){setTimeout(函数(){jQuery('.juiz过时消息')).addClass('active');},500);});});
这发生在这么多的网站上,但我找不到任何关于如何做到这一点的资源

如果选项卡处于前台且处于活动状态,我如何使其运行

使用,您需要处理
visibilitychange
事件

如何使动画仅在选项卡处于活动状态时运行

下面是来自共享文档链接的示例代码

function handleVisibilityChange() {
  if (document.hidden) {
    pauseSimulation();
  } else  {
    startSimulation();
  }
}

document.addEventListener("visibilitychange", handleVisibilityChange, false);
共享文档链接还针对不同的浏览器提供了其他回退方法,对此进行了详细讨论

如果选项卡处于前台且处于活动状态,我如何使其运行

使用,您需要处理
visibilitychange
事件

如何使动画仅在选项卡处于活动状态时运行

下面是来自共享文档链接的示例代码

function handleVisibilityChange() {
  if (document.hidden) {
    pauseSimulation();
  } else  {
    startSimulation();
  }
}

document.addEventListener("visibilitychange", handleVisibilityChange, false);

共享文档链接还针对不同的浏览器提供了其他回退方法,对此也进行了详细讨论。

使用@gurvinder372提供的逻辑回答我自己的问题:

function animateeeeee(){//magic函数
setTimeout(function(){jQuery('.juiz过期消息').addClass('active');},500);
}; 
jQuery(document).ready(函数(){//在DOM ready上运行
如果(document.hasFocus()){//如果我们已经有了焦点。。。
animateeee();//现在就做
}否则{//
jQuery(window).focus(函数(){//bind to focus
animateeee();//然后运行
});		     
}; 

});使用@gurvinder372提供的逻辑回答我自己的问题:

function animateeeeee(){//magic函数
setTimeout(function(){jQuery('.juiz过期消息').addClass('active');},500);
}; 
jQuery(document).ready(函数(){//在DOM ready上运行
如果(document.hasFocus()){//如果我们已经有了焦点。。。
animateeee();//现在就做
}否则{//
jQuery(window).focus(函数(){//bind to focus
animateeee();//然后运行
});		     
}; 

});
@gurvinder372,谢谢你的评论,但正如你从我问题中的代码片段中看到的那样,我已经尝试过了,但没有效果。@gurvinder372,谢谢你的评论,但正如你从我问题中的代码片段中看到的那样,我已经尝试过了,但没有效果。我明白了,谢谢你。因此没有“firstfocus”或类似事件。我只需要先检查一下它是否有焦点。非常感谢。我明白了,谢谢。因此没有“firstfocus”或类似事件。我只需要先检查一下它是否有焦点。非常感谢。