0

実行中に steininterval() の速度を変更したいのですが、次のようなことを試しました:

inteval = 1;
setInterval(function(){
    }, interval);
interval = 2;

次に、間隔を使用しないこれを試しましたが、うまくいくようです:

// Time
inteval = 1;
function refresh() {
    setTimeout(function() {refresh()},interval);
    }
refresh();
interval = 2;

むしろ setinterval() を使用したかったのですが、このアプローチはうまく機能します。ただし、別の同様の質問には、より長いアプローチがあります。実行中に SetInterval の間隔を変更する

私のスニペットが効率の点で優れている場合は? より効率的なアプローチはありますか?

4

1 に答える 1

0

このようなものはどうですか:

var interval = 1000;
var times = 0;

function runInterval() {
    times ++;
    if(times == 5) {
        interval = 3000;
        clearInterval(s);
        s = setInterval(runInterval, interval);
    }
    console.log(times);
}
var s = setInterval(runInterval, interval);​

setInterval を使用したい場合は、これがその方法です。お役に立てれば幸いです

于 2012-12-06T07:12:17.390 に答える