2011-07-28 19 views
1

私はwindow.setInterval関数を使用しました。この機能は3つの引数が含まれていますwindow.setInterval関数のミリ秒を変更

setInterval(code,millisec,lang) 

私はこのようなことを使用:

var counter = 1; 
window.setInterval(function() {}, 1000 * ++counter); 

が、最初の時間設定タイマー(第二引数)は、変更されていないとのコード下記のようにその行為:

window.setInterval(function() {}, 1000); 

+0

「ミリ秒」とは何ですか?変数? – pimvdb

+0

user667429、質問を明確にしてください。なんでしょう? –

+0

これはwindow.setIntervalのタイマーです – user667429

答えて

0

使用変更タイマのための正しいコードを書いてください代わりに。

var delay = 1000; 
function myTimer() { 
    // do whatever 

    window.setTimeout(myTimer, delay); 
} 

window.setTimeout(myTimer, delay); 

機能の本体でdelayを操作できます。

0

あなたの問題は、JavaScriptが最初に '1000 * ++ counter'を実行してから時間間隔を更新しないことです。
代わりにタイムアウトを使用するようにしてください。https://developer.mozilla.org/en/DOM/window.setTimeout
タイムアウト関数が呼び出されるたびに新しい値で新しいタイムアウトを作成してください。何を後にしていることはsetIntervalではなく、ループ内setTimeoutよう

+0

私のコードを変更する提案はありますか? – user667429

+0

実際、私はまるで同じコード@Marko Dumicがあなたに与えた... – revers

0

サウンズ:

var counter = 1; 
for (var i = 1; i <= 3; i++) { 
    window.setTimeout(function() { 
     alert("#" + counter); 
     counter++; 
    }, i * 1000); 
} 

これは、3つの異なる「タイマー」次々に実行されます。
ライブテストケース:http://jsfiddle.net/86DRd/