19 EKİM 2010, Salı
javascript: pause setTimeout();
Eğer bir etkin zaman aşımı çalışıyorsa ben o var t = setTimeout("dosomething()", 5000)
ile kuruldu
Neyse duraklatmak ve devam ettirmek için var mı?
< / ^ hr .
Zaman geçerli zaman aşımı kalan almak için herhangi bir yolu var mı?
veya zaman aşımı ayarlandığında bir değişken, mevcut zaman saklamak zorunda mıyım, o zaman biz Ara verdiğimiz, şimdi ve sonra arasındaki farkı anlayabiliyor musun?
CEVAP
19 EKİM 2010, Salı
Soruda demek istediğin benzer olduğunu düşünüyorum bu gibi window.setTimeout
, sarmak olabilir:
function Timer(callback, delay) {
var timerId, start, remaining = delay;
this.pause = function() {
window.clearTimeout(timerId);
remaining -= new Date() - start;
};
this.resume = function() {
start = new Date();
window.clearTimeout(timerId);
timerId = window.setTimeout(callback, remaining);
};
this.resume();
}
var timer = new Timer(function() {
alert("Done!");
}, 1000);
timer.pause();
// Do some stuff...
timer.resume();
Bunu Paylaş:
Daha doğru bir şekilde setTimeout daha...
Javascript: setTimeout basın()?...
JavaScript.setTimeout...
Javascript vs...başka...başka geçiş...
JavaScript içinde Tek veya Çift Tırnak...