javascript - 如何让 javascript 计时器在不查看选项卡/窗口时停止

标签 javascript jquery arrays timer

我正在运行一个带有计时器的页面,我用它在页面的 iframe 中运行,以便我知道有人实际上在那里,窗口集中在屏幕上,如果离开,则计时器暂停,直到向后查看窗口或聚焦。

我有 4 个计时器文件:timer.css、timer.js、timer.php 和timerb.js

我相信我会在下面的文件和代码中执行它,但这就是我被困的地方,因为我不知道要添加什么或在哪里添加它,而且还没有运气,为什么在这里问,所以请看一下,如果您能提供帮助,请告诉我。

文件:timer.js

function adTimer() {
  timer++;
  if(timer == fulltimer) {
    var show="Click "+key;
    $("#buttons").fadeIn();
    $("#timer").html(show);
  }
  else {
    setTimeout(adTimer, 1000);
  }
  $("#bar").width((timer/fulltimer)*200);
}

最佳答案

这对你来说就足够了:

$(window).blur(function(){
  //your code for inactive
});
$(window).focus(function(){
  //your code for active
});

或非 jQuery 解决方案 ( https://stackoverflow.com/a/1760283 )

window.onblur = function () { 
  //your code for inactive
}; 
window.onfocus = function () { 
  //your code for active
}; 

如果没有尝试页面可见性 API(答案已在此处 https://stackoverflow.com/a/1060034)

关于javascript - 如何让 javascript 计时器在不查看选项卡/窗口时停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28624076/

相关文章:

javascript - 制作 Spring 形式:select searchable by two parameters

javascript - 单个 HTML 表单中的多个提交按钮

php - 将结果返回给函数后 undefined offset ,PHP

javascript - 如何使用给定的时间数组更改 setTimeout 时间

javascript - 检查字符串是否不包含重复字符

javascript - 平移或缩放后 D3 数据无法正确重新缩放

javascript - 替换已弃用的 `keypress` DOM 事件

jquery - 使用 jQuery 进行 HTML5 验证?

javascript - 在字符串中搜索十六进制颜色代码并将其替换为 RGB 值

javascript - 创建滚动到第二部分后出现的导航栏