我有以下代码。倒计时有效,但是当窗口未对焦时停止计时器不起作用。此外,我想在窗口聚焦时恢复倒计时。
在我的下面的代码中,$(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);
});
答案 0 :(得分:3)
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);
});
答案 1 :(得分:0)
试试这个:
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);
});