2013-01-12 170 views
0

是否可以做setInterval,然後在運行180次後,減慢間隔時間?更改時間間隔

基本上在大約15分鐘後,我希望計時器只能每分鐘運行一次,然後大約一小時後每隔一小時設置一次運行間隔。我希望有一種方法可以做到這一點,而不必在setInterval內嵌入setInterval內的setInterval

var c = 0; 
var interval = 5000; 
var timer; 
timer = setInterval(function(){ 
    checkActivity(); 
    c++; 
    if(c > 180){ 
     interval = 60000; 
    } 
}, interval); 

回答

3

嘗試這樣:

var c = 0; 
var timer = setInterval(function() { 
    checkActivity(); 
    c++; 
    if(c == 180) { 
     clearInterval(timer); 
     timer = setInterval(arguments.callee,60000); 
    } 
},5000); 
+0

太好了!這樣可行! –