我正在尝试这样做,每当有人点击我拥有的链接时,它都会打开一个新页面。打开页面后,我想要一个进度条和一个倒计时到零的计时器。
问题是,我只希望倒计时和进度条在窗口处于活动状态时倒计时/运行。当窗口/选项卡不活动时,我希望计时器/进度条停止。
我无法让它工作。我不知道我做错了什么。
这是我的代码:
var time = <?php echo $time; ?>
$(function() {
$('#iframe').load(function() {
startCounter();
$('#iframe').unbind('load');
});
});
var isActive = true;
window.onfocus = function() { isActive = true; };
window.onblur = function() { isActive = false; };
function checkfocus() {
if(isActive = true){
time=time-1;
} else {
}
}
function startCounter() {
$('#counter').fadeOut('fast');
setTimeout("$('#counter').fadeIn('fast')",1050);
setTimeout("runCounter()",1000);
}
function runCounter() {
if(time==0){
$('#counter').html('<button class="butn blue" onclick="<?php echo $creditButtonName; ?>();">Click here to get credited!</button>');
}
else {
$('#counter').html('You must view this advertisement for ' + time + ' more seconds!');
startBar();
setTimeout("checkfocus()", 1000);
setTimeout("runCounter()",1000);
}
}
function startBar(){
$('#bar').animate({
width:'100%'
}, <?php echo $time; ?>000);
}
此时计时器将倒计时。当窗口不活动或任何东西时不会停止。
我的另一个问题是:我该怎么做才能使进度条在窗口不活动时也停止动画,然后重新开始?