setInterval() メソッド
window.setInterval()
setInterval() メソッドは、指定されたミリ秒(1/1000 秒)ごとに指定されたコールバック関数を呼び出す、または数式を実行する Window オブジェクトのメソッドです。
このメソッドは、チャットやブラウザゲームのように web ページが常に変化する場合に、サーバーに定期的にリクエストを送って変化したページを受け取るといったことに使用できます。
クリアするためには clearInterval() メソッドを使います。
var id = setInterval( get_example, 1000 );
詳しくは Example を参照してください
上記の例は window オブジェクトの指定を省略しています。
setInterval() メソッドは定期的にサーバーにリクエスを送ることに利用することができます。
詳しくは以下のsetInterval() メソッドによる定期リクエスト
を参照してください。
似たメソッドに setTimeout() があります。setTimeout() は指定時間後に関数や数式を実行します。
ページ内 Index
setInterval() メソッドによる定期リクエスト
setInterval() メソッドは、チャットやブラウザゲームのように web ページが常に変化する場合に、サーバーに定期的にリクエストを送ってその変化のあったページを受け取ることができます。
ブラウザは双方向通信ではないために、クライアントからリクエストを出さない限りはサーバーからレスポンスはありません。 そのために、サーバーで何らかの変化があってもクライアントで知ることができません。
ユーザーがブラウザから web ページをリクエストするとサーバーからその web ページが送らます。ブラウザからリクエストが無い限りは、サーバーから web ページを送ってきません。 そのために、ページの内容が常に変化するようなチャットやブラウザゲームのような場合に その内容に変化があってもユーザーは知ることができません。 ブラウザに web ページに変化があったことをサーバーが知らせてくれる機能がないためです。
このことを解消するためにブラウザから定期的にリクエストをサーバーに出すか、Node.js といったサーバーサイド JavaScript を利用します。
Ajax でインタラクティブに web ページを変化させるには、Node.js との連携を行うか、Ajax 内で setInterval() メソッドを使用します。
Ajax 内で setInterval() メソッドを使用する方法は、web ページの一部のみを常に変化させることができます。
Syntax
返り値は設定されたtimeoutのIDです。
ID = setInterval(function, delay, param1, param2, ...)
引数(Parameter Values)
Parameter | 摘要 | |
---|---|---|
function | 実行する関数 | |
delay | Optional | function を実行する間隔。ミリ秒単位(1/1000秒)。省略時は0 |
param1, param2, ... | Optional | 関数に渡す引数 |
返り値(Return Values)
Type | 摘要 |
---|---|
ID | setIntervalのID |
Example
setInterval() メソッドの例です。以下の確認
ボタンをクリックすると 1000 ミリ秒後にコールバック関数を実行します。
コールバック関数が実行されたら、以下のsetInterval() の ID :
に setInterval() 返り値が表示され、メッセージが表示されます。