setInterval と clearInterval による繰り返しタイマーの制御
コードでは、特定のキーが押されたときにdrawAll() を 1 回呼び出すことを目的としていました。ただし、setInterval 関数は、drawAll() を繰り返し呼び出す繰り返しタイマーを確立します。これに対処するには、clearInterval を使用してタイマー ループの実行を停止できます。
setInterval は繰り返しタイマーを作成し、ハンドルを返します。このハンドルは、タイマーのトリガーを停止するためにclearIntervalで使用できる識別子として機能します。その仕組みは次のとおりです。
var handle = setInterval(drawAll, 20); // When you want to cancel it: clearInterval(handle); handle = 0; // This marks the interval as cleared
ブラウザでは、ハンドルはゼロ以外の数値であることが保証されています。したがって、ハンドル値として 0 を使用すると、タイマーが設定されていないことを示します。
関数が 1 回だけ起動するようにスケジュールするには、setInterval の代わりに setTimeout を使用できます。 setTimeout は、指定された遅延後に関数を 1 回実行します。必要に応じて関数呼び出しを実行前にキャンセルするために、clearTimeout で使用できるハンドルを返します:
setTimeout(drawAll, 20);
以上が`setInterval` と `clearInterval` を使用して JavaScript で繰り返しタイマーを制御するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。