在 jQuery 中,如何让我的计数器在窗口不在焦点上时停止
In jQuery, how can I get my counter to stop when window is not on focus?
我有以下代码。倒计时有效,但当窗口不在焦点上时停止计时器不起作用。另外,我想在窗口对焦时恢复倒计时。
在下面的代码中,$(document).blur()
事件不起作用,但是当我用 click()
替换模糊时,它有效。blur()
和文件有问题吗?
var tm;
$(document).ready(function(){
function countdown(){
if (seconds > 0) {
seconds--;
$('#timer_div').text(seconds);
tm = setTimeout(countdown,1000);
}
if (seconds<=0){
$('#timer').text('Go');
}
}
var seconds = 50;
$('#timer').html(seconds);
countdown();
});
$(document).blur(function(){
clearTimeout(tm);
seconds++;
$('#timer').text(seconds);
});
var tm;
$(document).ready(function(){
function countdown(){
if (seconds > 0) {
seconds--;
$('#timer_div').text(seconds);
tm = setTimeout(countdown,1000);
}
if (seconds<=0){
$('#timer').text('Go');
}
}
var seconds = 50;
$('#timer').html(seconds);
countdown();
});
$(document).blur(function(){
clearTimeout(tm);
seconds++;
$('#timer').text(seconds);
});
试试这个:
var counter;
$(document).ready(function(){
function countdown(){
if (seconds > 0) {
seconds--;
$('#timer_div').text(seconds);
counter=setTimeout(countdown,1000);
}
if (seconds<=0){
$('#timer').text('Go');
}
}
var seconds = 50;
$('#timer').html(seconds);
countdown();
});
$(document).blur(function(){
clearTimeout(counter);
seconds++;
$('#timer').text(seconds);
});
相关文章:
- 如何检测哪个窗口是焦点
- 只有当选项卡/窗口有焦点时,页面才能每5秒刷新一次
- 在ADF弹出窗口中设置焦点组件
- Javascript弹出窗口在某些情况下失去焦点
- 弹出窗口设置焦点
- JS - 在 Firefox 中窗口焦点并置于最前面
- 在系统焦点使用Electron的地方打开一个窗口
- 在刚刚创建的窗口中设置文本输入的焦点
- jQuery 图像推子不会在窗口失去焦点时停止
- 在调用窗口模糊(浏览器失去焦点)时避免元素模糊处理程序
- 如何通过单击按钮自动打开子窗口作为焦点窗口(IE)
- 将焦点从子窗口返回到父窗口
- 除非窗口处于焦点中,否则文本字段不会聚焦
- Javascript 多线程两个窗口焦点
- 当运行硒测试时,当火狐窗口不在焦点上时,Onblur 事件触发会变得混乱
- 如何知道Chrome窗口何时具有焦点(并且文档中有一个插件)
- 让窗口在一次单击触发两个页面重定向后保持焦点
- 处理窗口外焦点的 Javascript 滚动条
- 我可以使用 JavaScript 或任何其他技术根据用户输入将焦点切换到窗口或选项卡上吗?
- 如何在将鼠标焦点放在旧窗口上打开新窗口