1

私はJavaScriptの知識があまりないので、あなたの助けが必要です。私の問題は次のようなものです。

1分後に毎回の値を増やすためにsetInterval()を使用しており、次のiコードを使用しています。

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);

このようにして、関数をすぐに呼び出し、1分ごとに実行するように設定します。0に達したら、関数が「-1」などにカウントされないように間隔をクリアします。

于 2012-05-09T11:09:06.670 に答える