我正在使用下面的脚本从给定时间倒计时,并实时显示脚本超时还剩多少小时+分钟+秒。
倒计时非常好,但我面临的问题是,在浏览器上使用下一个和上一个按钮时,时间不会刷新,而是看到旧时间。它要么显示以前的时间,要么显示以后的时间。
我知道浏览器上的下一个和上一个按钮不会刷新页面,但我该如何克服这个问题?
JS
function timeout_warning(login_timeout)
{
var counter = 0;
var total_seconds = 0;
var colour = '';
var interval_id = '';
interval_id = setInterval(function ()
{
counter++;
total_seconds = login_timeout - counter;
hours = parseInt(total_seconds / 3600 ) % 24;
minutes = parseInt(total_seconds / 60 ) % 60;
seconds = parseInt(total_seconds % 60, 10);
remaining = (hours < 10 ? "0" + hours : hours) + ":" + (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds < 10 ? "0" + seconds : seconds);
if (minutes == 0 && seconds == 0)
{
document.getElementById('font_timeout').innerHTML = 'Timeout';
window.clearInterval(interval_id);
}
else
{
document.getElementById('font_timeout').innerHTML = remaining + 'sec';
}
}, 1000);
}
HTML 正文
<body onload="timeout_warning('1800')">