2016-08-14 18 views
2

valuewindow.setTimeoutの範囲内で遅延させ、タイムアウトのミリ秒の値を以下の変数timeにすることはできますか?設定されたタイムアウトでforループ内の変数を遅延させることは可能ですか?

var value = null; 
var time = 5000; 

for(var i = 0; i < 30; i++){ 


    if(value === "a"){ 
    console.log("You made it!"); 
    } else { 
     console.log("You didn't make it!"); 
    } 

time = time - 100; 

} 
+0

あなたが「変数を_delay_」とはどういう意味ですか? – vlaz

+0

同様に、何もせずに変数を5秒間移動させたい場合は、変数の値が何であれ、if文などをトリガーします。 – Bubblegumz

+0

あなたは、プログラムを一定の時間スリープ状態にしてから、もう一度やり直したいのですか? –

答えて

1

また

for(i=0;i<30;i++) 
    setTimeout(function(){ 

    alert('hello'); 
    }, 5000); 

alert('hey'); 
} 

を使用することができます。しかし、それは別の方法で動作します。それはすぐに "こんにちは"を与え、5秒後に "ちょっと"を表示します。

"clearTimeout()"メソッドを使用してタイムアウトをクリアすることができます。

+0

ありがとうございます。これは私が必要としたものです。 – Bubblegumz

+0

あなたは大歓迎です。常に喜んで助けてください。 –

1

はい、あなたが行うことができたsetInterval()メソッド使用:ここで

clearInterval(myVar); 

myVar

var myVar=setInterval(function() { 
    //codehere 
     }, 100); 

ここでは100ミリ秒の時間停止する間隔

使用clearInterval()ですがsetInterval関数の変数名です。

+0

私の時間を100ミリ秒の値に変えることができますか? – Bubblegumz

+0

はいあなたのコードで使用できます。 参照リンク: http://www.w3schools.com/jsref/met_win_setinterval.asp –

+0

また、それを停止する方法はありますか、それはもっと無限ループのようです。 – Bubblegumz

1

あなたがするコールバック関数を作成することができますので、

var value = null; 
var time = 5000; 
var limit=30; 
var i = 0; 
function delay(limit, time, callback) {    
     loop(); 
     function loop(){ 
      if(value = "a")// it may be a comparison (you are assigning value). 
      { 
       setTimeout(function(){ 
        i++; 
        if (i<=limit && time >= 0){ 
         callback("callback after"+time); 
         callback("You made it!"); 
         loop(); 
        } 
       }, time) 
      } 

      else 
      { 
        callback("You didn't make it!"); 
      } 

      time=time-100; 
     } 
} 


// Calling a callback function 
delay(limit,time, function(callback){ 
console.log(callback); 
関連する問題