我正在尝试使用JQuery完成CountDown时钟。 Evrything工作正常,除了最后一部分,我假装在倒计时到达0时重新加载页面。这就是我所拥有的:
1-首先,我将容器折叠起来:
// Countdown Clock JQuery
function startTimer(duration, display) {
var timer = duration, minutes, seconds;
setInterval(function () {
minutes = parseInt(timer / 60, 10);
seconds = parseInt(timer % 60, 10);
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = seconds < 10 ? "0" + seconds : seconds;
display.text(minutes + ":" + seconds);
if (--timer < 0) {
timer = duration;
}
}, 1000);
}
// JQuery function
jQuery(function ($) {
var fiveMinutes = 60 * 5,
display = $('#countdown');
startTimer(fiveMinutes, display);
if (fiveMinutes === 0) {
location.reload();
}
});
2-现在时钟
if (fiveMinutes === 0) {
location.reload();
}
嗯,一切正常,但最后一点:
vidObj = VideoReader('test3.mp4');
width = vidObj.Width;
height = vidObj.Height;
subtractedImg = zeros([width height 3]);
videoFrames = [];
k = 1;
while hasFrame(vidObj)
f = readFrame(vidObj);
f=uint8(f);
videoFrames = cat(numel(size(f)) + 1, videoFrames, f);
k = k+1;
end
backgroundImg = median(videoFrames,4);
i=1;
页面不会在倒数到零时重新加载。有什么想法吗?
答案 0 :(得分:0)
你可以通过setTimeout重新加载它:
// JQuery function
jQuery(function ($) {
var fiveMinutes = 60 * 5,
display = $('#countdown');
startTimer(fiveMinutes, display);
setTimeout(function(){ location.reload() }, fiveMinutes*1000);
});
答案 1 :(得分:0)
在第一次执行脚本期间,If条件仅执行一次。此时,fiveMinutes变量为60 * 5(300)且与=== 0条件不匹配。
// JQuery function
jQuery(function ($) {
var fiveMinutes = 60 * 5,
display = $('#countdown');
startTimer(fiveMinutes, display);
if (fiveMinutes === 0) {
location.reload();
}
});
您需要检查计时器在;
中的运行时间是否为0setInterval(function () {
minutes = parseInt(timer / 60, 10);
seconds = parseInt(timer % 60, 10);
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = seconds < 10 ? "0" + seconds : seconds;
display.text(minutes + ":" + seconds);
if (--timer < 0) {
timer = duration;
}
}, 1000);
功能,因此在定时器值更新中执行条件检查。
希望这有帮助。