Javascript 计时器在时间结束时发出警报
我做了一个倒计时。时间到了,它会发出警报/弹出窗口。 我编写了如下代码:Javascript 计时器在时间结束时发出警报,javascript,timer,countdowntimer,Javascript,Timer,Countdowntimer,我做了一个倒计时。时间到了,它会发出警报/弹出窗口。 我编写了如下代码: function cd(){ now = new Date(); diff = end - now; diff = new Date(diff); var sec = diff.getSeconds(); var min = diff.getMinutes(); if(now >= end) { clearTimeout(timerID); window.alert("Time is up
function cd(){
now = new Date();
diff = end - now;
diff = new Date(diff);
var sec = diff.getSeconds();
var min = diff.getMinutes();
if(now >= end)
{
clearTimeout(timerID);
window.alert("Time is up. Press OK to continue.");
document.forms[0].submit();
}
else
{
document.getElementById("cdtime").innerHTML = min + ":" + sec;
}
timerID = setTimeout("cd()", 10);
}
window.onload = cd
这是自动提交计时器。时间到了,它会提交表格。问题是,当我执行window.alert时,即使我单击“ok
”,它也会保持警惕。单击“确定”后,我应该做什么?它将重定向到文档。表单[0]。提交()
?尝试以下操作:
if (window.confirm(‘put stuff here’)) {
window.location.href=‘put link here’;
}
else {
var x = "";
}
行timerID=setTimeout(“cd()”,10)代码>始终在代码中执行。它应该在else块中。此外,不需要清除超时
(如果使用setInterval()
函数而不是setTimeout()
函数,则必须清除interval)
试试这个
function cd(){
now = new Date();
diff = end - now;
diff = new Date(diff);
var sec = diff.getSeconds();
var min = diff.getMinutes();
if(now >= end)
{
window.alert("Time is up. Press OK to continue.");
document.forms[0].submit();
}
else
{
document.getElementById("cdtime").innerHTML = min + ":" + sec;
setTimeout("cd()", 10);
}
}
window.onload = cd;
计时器每10毫秒触发一次,因此警报实际上正在刷新
读这篇文章,给你一个更好的想法,希望这对你有所帮助你知道10是毫秒而不是秒,对吗?你能发布整个“cd”函数吗?好的,我已经编辑了代码..我不能做window.location,因为我想自动提交表单所以现在我看到你的函数cd(),你应该有名为var now=new Date()的变量;等等。谢谢兄弟。它让我在使用计时器时有了更好的视野。真的帮了我很多忙,即使是窗口。警报不显示。:)