2014-11-14 97 views
-1

我需要暫停while循環基於一個條件如何暫停一個jQuery while循環有條件暫停長度

var i = 2 

while (i) { 
    if (i == 2) { 
     //pause loop for 5 seconds 
     //execute function1(); 
    } else { 
     //pause loop for 4 seconds 
     //execute function2(); 
    } 
} 

我怎麼能做到這一點一定的時間。 謝謝

+1

這沒有什麼意義,爲什麼你需要while循環,什麼是'做'應該做的? – adeneo 2014-11-14 15:47:28

+1

「jquery while循環」? :) – 2014-11-14 15:48:55

+1

JavaScript中沒有睡眠/等待。 – epascarello 2014-11-14 15:53:29

回答

1

你可以做這樣的事情:

var i = 2, 
    method1 = function() { 
     //do your thing 
     start(); 
    }, 
    method2 = function() { 
     //do your thing 
     start(); 
    }, 
    start = function() { 
     if(i && i == 2) { 
      setTimeout(method1,5000); 
     } 
     else if(i) { 
      setTimeout(method2,4000); 
     } 
    } 
; 

你需要調用start()方法的延遲方法結束。這樣,你可以避免在5秒鐘之前調用大量的setTimeout(method1,5000)。

+0

你打敗了我:)這是我做的一個小提琴,雖然基本上是一樣的東西。 http://jsfiddle.net/ubq2Lqzv/ – 2014-11-14 16:01:18