私は現在、表示されたカウンターでページをリダイレクトするために使用される JavaScript のコードに取り組んでいます。問題は、カウンターが 0 に達すると、countDown() 関数が無限ループに入り、ページが同じままになることです。そしてもちろん、私はまだ問題を解決できませんでした。誰でも助けることができますか?
ここで問題を確認できます: 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();
編集:
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);
}
}