1

因为我对 javascript 了解不多,所以我需要你的帮助。我的问题是这样的:

我使用 setInterval() 来增加i每 1 分钟后的值,我正在使用以下代码:

var i = minutes;
function decrementMin() {
    if(i>=0)
    {
        i--;
    }
    if(i==0)
    {
        alert('Minute = Congratulation your time begin now!');
    }                         
    document.getElementById('minutes').innerHTML = i + "minutes";
}
setInterval('decrementMin()',60000);

问题是我想在<div id='minutes'></div>页面加载时显示第一条消息,但它会在 1 分钟间隔后显示消息。如果我的代码中缺少某些内容,请告诉我。

4

1 回答 1

1

您的问题是您正在设置显示第一条消息之前的间隔。相反,您可以立即调用该函数,然后设置间隔。此外,一旦达到 0,您需要清除间隔:

var i = minutes;
var intID;
function decrementMin() {
    if(i>=0)
    {
        i--;
    }
    if(i==0)
    {
        clearInterval(intID);
        alert('Minute = Congratulations my friend your time begins now!');
    }
    document.getElementById('minutes').innerHTML = i + "minutes";
}

decrementMin();
intID = setInterval(decrementMin, 60000);

这样您就可以立即调用您的函数,然后将其设置为每分钟运行一次。一旦达到 0,就清除间隔,以便函数不计为“-1”等。

于 2012-05-09T11:09:06.670 回答