2012-01-24 17 views

cevap

11
sen koymak ne olursa olsun kod çalışır Bu bir aralık (her 3 saniye) oluşturur

$(function() { 
    var intervalID = setInterval(function() { 
     // Do whatever in here that happens every 3 seconds 
    }, 3000); 
    setTimeout(function() { 
     clearInterval(intervalID); 
    }, 18000); 
}); 

şimdiye kadar sadece 15 saniye gerçekleşmesi ve daha sonra durdurmak istiyor dikkate almak cevapların

Yok ... işlevde. 15 saniye sonra aralık yok edilir (ilk 3 saniyelik bir gecikme, dolayısıyla 18 saniyelik genel çalışma süresi vardır).

+1

+1, ancak muhtemelen '15000' biraz artırmak istersiniz; aksi halde işlev muhtemelen sadece dört kez çalışır ve sanırım niyet beş kez çalıştırılmasıdır. – ruakh

+0

İyi bir nokta - en az 18000 olmalı. Yanıtı değiştirildi - teşekkürler :) – Archer

+0

Er, ben daha çok "15500" gibi düşünüyordum - sadece güzel bir hata payı vermek için yeterli. – ruakh

0

Ayrıca, zamanlayıcıyı iptal etme gibi şeyleri destekleyen setTimeout yöntemini de kullanabilirsiniz.

Bkz: http://msdn.microsoft.com/en-us/library/ie/ms536753(v=vs.85).aspx

+0

Bunu reddetme, bir özyinelemeli arama ile kullanılabilir. Bu durumda setinterval daha doğru olsa da. Simon: İyi bir yöntem de var, btw :) – Johan

+0

+1. 'setTimeout' aslında daha iyidir. – Aliostad

+0

Evet, saçma cevap ... silme :-) – Simon

0
setInterval(function() { 
     // Do something every 3 seconds 
}, 3000); 
0

setInterval işlevini kullanın.

var doPost = function() { 
    $('post').each(function() { 
    ... 
    }); 
}; 
setInterval(function() { doPost(); }, 3000); 
1

Sen X milisaniye geçtikten sonra bir işlev çalıştırmak için setTimeout kullanabilirsiniz.

var timeout = setTimeout(function(){ 
    $('post').each(function(){ 
     //do stuff... 
    }); 
}, 3000); 

Veya setInterval bir fonksiyonu her X milisaniye çalıştırmak için.

var interval = setInterval(function(){ 
    $('post').each(function(){ 
     //do stuff... 
    }); 
}, 3000); 

setTimeout ve setInterval dönüş kimlikleri, bu clearTimeout veya clearInterval kullanarak zaman aşımı/aralık temizlemek için kullanılabilir.

İlgili konular