Rumah  >  Artikel  >  hujung hadapan web  >  Cara Mengawal Tamat Masa Aktif dalam Javascript: Menjeda, Menyambung Semula dan Mendapatkan Selebihnya Masa

Cara Mengawal Tamat Masa Aktif dalam Javascript: Menjeda, Menyambung Semula dan Mendapatkan Selebihnya Masa

DDD
DDDasal
2024-10-22 22:36:29158semak imbas

How to Control Active Timeouts in Javascript: Pausing, Resuming, and Retrieving Remaining Time

Mengawal Tamat Masa Aktif dengan Javascript

Menguruskan tamat masa aktif dalam Javascript selalunya diperlukan untuk pelbagai aplikasi. Seseorang mungkin menghadapi situasi di mana menjeda dan menyambung tamat masa berjalan dikehendaki. Selain itu, mendapatkan baki masa pada tamat masa semasa boleh berguna dalam senario tertentu.

Jeda dan Sambungkan Masa Tamat

Untuk menjeda tamat masa yang aktif, seseorang boleh menggunakan versi dibungkus window.setTimeout. Pembalut ini memperkenalkan kelas Pemasa yang menyediakan kaedah jeda dan sambung semula. Berikut ialah contoh:

<code class="javascript">var Timer = function(callback, delay) {
    var timerId, start, remaining = delay;

    this.pause = function() {
        window.clearTimeout(timerId);
        timerId = null;
        remaining -= Date.now() - start;
    };

    this.resume = function() {
        if (timerId) {
            return;
        }

        start = Date.now();
        timerId = window.setTimeout(callback, remaining);
    };

    this.resume();
};</code>

Untuk menggunakan kelas ini, buat tika Pemasa dan hantarkan fungsi panggil balik dan lengah sebagai argumen. Kemudian, gunakan kaedah jeda dan sambung semula seperti yang diperlukan.

Dapatkan Baki Masa pada Tamat Masa

Malangnya, tiada cara asli untuk mendapatkan baki masa pada tamat masa semasa dalam Javascript. Walau bagaimanapun, anda boleh mencontohi fungsi ini dengan menyimpan cap masa semasa apabila tamat masa ditetapkan dan kemudian mengira baki masa dengan menolak cap masa ini daripada masa semasa.

Atas ialah kandungan terperinci Cara Mengawal Tamat Masa Aktif dalam Javascript: Menjeda, Menyambung Semula dan Mendapatkan Selebihnya Masa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn