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

  • Julian Smith

    Julian Smith

    31 EKİM 2006
  • MagicofRahat

    MagicofRahat

    13 Temmuz 2007
  • Rachel Talbott

    Rachel Talbo

    26 Ocak 2011