我现在正在研究一段JavaScript代码,它将用于重定向显示的计数器页面。问题是,当计数器达到0时,countDown()函数进入无限循环,导致页面保持不变。当然,我还无法解决问题。谁能帮忙?JavaScript中的页面重定向功能的无限循环
你可以看到这里的问题: http://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();
编辑:
我已经在读秒()函数和问题做了如下的变化已解决:
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);
}
}
window.onload = init;将是我的第一个改变,location.replace(page);我的第二个也是最后一个重定向到另一个页面比当前 – mplungjan 2013-05-11 11:46:33
你可能想要'document.all [id]'而不是'document.all.id'或更好,只是除掉'getElementById'之外的所有东西。除非这是一些严重的遗留代码。 – Dennis 2013-05-11 12:15:48