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

时间:2015-02-20 07:56:29

标签: 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);
}

2 个答案:

答案 0 :(得分:1)

这对你来说已经足够了:

$(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

答案 1 :(得分:0)

只是想知道为什么JQuery已经提供超时的所有实现。你尝试使用设置超时吗? http://www.sitepoint.com/settimeout-example/