Bagaimana untuk Jeda dan Sambung semula setTimeout() dalam JavaScript?

Linda Hamilton
Lepaskan: 2024-10-23 00:55:03
asal
252 orang telah melayarinya

How to Pause and Resume setTimeout() in JavaScript?

Menjeda dan Menyambung semula setTimeout() dalam JavaScript

Dalam JavaScript, setTimeout() membenarkan anda menjadualkan fungsi untuk dilaksanakan selepas ditetapkan kelewatan. Walau bagaimanapun, anda mungkin menghadapi senario di mana anda perlu menjeda atau menyambung semula pelaksanaan tamat masa.

Menjeda dan Menyambung semula setTimeout()

Untuk menjeda tamat masa berjalan, anda boleh menggunakan fungsi window.clearTimeout(). ID tamat masa diperlukan untuk dikosongkan sebagai hujah. Selepas menjeda, anda boleh menyambung semula tamat masa menggunakan kaedah pemasa.resume().

Pemasa Tersuai dengan Fungsi Jeda/Sambung Semula

Pendekatan alternatif ialah mencipta tersuai objek pemasa dengan kaedah jeda dan sambung semula. Ini membolehkan anda mengawal tamat masa dengan lebih langsung. Berikut ialah contoh pemasa sedemikian:

<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>
Salin selepas log masuk

Mendapatkan Baki Masa pada setTimeout()

Malangnya, tiada cara terbina dalam untuk menghidupkan baki masa setTimeout(). Walau bagaimanapun, anda boleh menggunakan pendekatan yang diterangkan di atas, di mana anda menyimpan masa mula secara manual dan mengira baki masa apabila menjeda pemasa.

Dengan membalut setTimeout() dalam objek pemasa tersuai atau menggunakan pendekatan pengiraan masa manual , anda boleh mencapai fungsi jeda dan sambung semula untuk tamat masa anda dalam JavaScript.

Atas ialah kandungan terperinci Bagaimana untuk Jeda dan Sambung semula setTimeout() dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!