SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hitcreatormusic2

    hitcreatormu

    21 Mayıs 2010
  • Pepsi

    Pepsi

    1 Kasım 2005
  • Professor Messer

    Professor Me

    27 NİSAN 2007