JavascriptのsetTimeOut()とset Interval()のタイマーの使い方

2192 ワード

Javascriptは、ウェブページを開いた後に登録枠を弾いたり、ページが一定時間ごとに非同期要求を送信して最新のデータを取得したりするなど、遅延とタイミングタスクを処理するために用いられています.しかし、それらの応用には違いがあります.
setTimeout()メソッドは、指定されたミリ秒数後に関数または計算式を呼び出すために使用され、setInterval()は、指定されたミリ秒毎に関数または式を起動し、clear Intervalがそれをクリアするまで循環します.つまりsetTimeout()は一回だけ実行して、set Interval()は何回も実行できます.二つの関数のパラメータも同じです.最初のパラメータはコードまたはハンドルで、二つ目は遅延ミリ秒です.
set TimeOutの使い方
setTimeout関数の使い方は以下の通りです.
var timeoutID = window.setTimeout(func, [delay, param1, param2, ...]);  var timeoutID = window.setTimeout(code, [delay]); 
timeoutID:タイマーID番号は、clearTimeout()関数でタイマーをクリアするために使用されます.
func:実行される関数.
コード列:(代替文法)実行されます.
delay:遅延時間、単位ミリ秒.指定がない場合は、デフォルトは0です.
私たちはwindow.setTimeoutまたはsetTimeoutを使ってもいいです.二つの書き方は基本的に同じです.window.setTimeoutはsetTimeout関数をグローバルwindowオブジェクトの属性として参照します.
適用例:
function timeout(){      document.getElementById('res').innerHTML=Math.floor(Math.random()*100 + 1);  }  setTimeout("timeout()",5000);  
コード実行時、5秒後にtimeout()関数を呼び出します.
 
set Intervalの使い方
set Interval関数のパラメータと使い方はsetTimeout関数と同じです.上記のsetTimeout関数の使い方を参照して紹介してください.異なるのは、setIntervalが一定の時間ごとに実行するfuncまたはコードです.
適用例:
var tt = 10;  function timego(){
tt--; 
 document.getElementById("tt").innerHTML = tt;
 if(tt==0){window.location.href='/';return false; }  }  
var timer = window.setInterval("timego()",1000);  
関数timego()はページ要素の表示内容を定義しています.ttが0に等しい場合、ページはトップページに向けられます.そして、タイマーtimerを定義して、set Interval()を使って、1秒ごとにtimego()を呼び出します.このようにtimegoは10回実行して、毎回数字ttは1を減らして、0になります.タイマーを停止したい場合は、以下のコードが使えます.
window.clearInterval(timer);  
コードが実行されると、10秒後にページが最初のページに移動します.