我现在正在编写一段 JavaScript 代码,该代码将用于重定向带有显示计数器的页面。问题是,当计数器达到 0 时,countDown() 函数进入无限循环,导致页面保持不变。当然,我还不能解决这个问题。任何人都可以帮忙吗?
你可以在这里看到问题: //kibristaodtuvarmis.com/index.html
代码如下所示:
var time = 10;
var page = "http://blog.kibristaodtuvarmis.com";
function countDown()
{
if (time == 0)
{
window.location = page;
return(0);
}
else
{
time--;
gett("container").innerHTML = time;
}
}
function gett(id)
{
if(document.getElementById) return document.getElementById(id);
if(document.all) return document.all.id;
if(document.layers) return document.layers.id;
if(window.opera) return window.opera.id;
}
function init()
{
if(gett("container"))
{
setInterval(countDown, 1000);
gett("container").innerHTML = time;
}
else
{
setTimeout(init, 50);
}
}
document.onload = init();
编辑:
我对 countDown() 函数进行了以下更改,问题已解决:
var control = false;
function countDown()
{
if (time == 0 && control == false)
{
control = true;
window.location = page;
return(0);
}
else if (time > 0)
{
time--;
gett("container").innerHTML = time;
}
else
{
return(0);
}
}