ホームページ >ウェブフロントエンド >jsチュートリアル >Javascript でアクティブ タイムアウトを制御する方法: 一時停止、再開、残り時間の取得

Javascript でアクティブ タイムアウトを制御する方法: 一時停止、再開、残り時間の取得

DDD
DDDオリジナル
2024-10-22 22:36:29262ブラウズ

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

JavaScript によるアクティブ タイムアウトの制御

JavaScript でのアクティブ タイムアウトの管理は、さまざまなアプリケーションで必要になることがよくあります。実行中のタイムアウトを一時停止して再開する必要がある状況に遭遇する場合があります。さらに、現在のタイムアウトの残り時間を取得すると、特定のシナリオで役立つ場合があります。

タイムアウトの一時停止と再開

アクティブなタイムアウトを一時停止するには、 window.setTimeout のラップされたバージョン。このラッパーは、一時停止メソッドと再開メソッドを提供する Timer クラスを導入します。以下に例を示します。

<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>

このクラスを使用するには、Timer インスタンスを作成し、コールバック関数と遅延を引数として渡します。次に、必要に応じて一時停止メソッドと再開メソッドを使用します。

タイムアウト時の残り時間を取得する

残念ながら、現在のタイムアウトの残り時間を取得するネイティブな方法はありません。 JavaScriptで。ただし、タイムアウトが設定されているときに現在のタイムスタンプを保存し、現在の時刻からこのタイムスタンプを減算して残り時間を計算することで、この機能をエミュレートできます。

以上がJavascript でアクティブ タイムアウトを制御する方法: 一時停止、再開、残り時間の取得の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。