トップページ >  javascript >  ミリ秒指定して関数実行する
初版2008/09/04: 最終更新日2013/01/22
  ミリ秒指定して関数実行する
目次
ミリ秒指定して関数実行する
ソース
setTimeoutに関数を指定する
ミリ秒指定して関数実行する
setTimeout関数を使用すると、第二引数で指定したミリ秒経過してから第一引数で指定した処理が実行されます。
setTimeout関数が呼ばれてからの経過秒ではなく、呼出元ロジックが終了してから第二引数で指定した秒数を待つところがポイントです。
以下、例です。アラートが表示される順序を確かめます。



ソース
<html>
<head>
<title></title>
</head>
<body>
<script language="JavaScript">
<!--
function a(){
    setTimeout("alert('3秒後に実行されました')",3000);// 3秒後に処理実行

    for(i=0;i<500000;i++){
        // 長い処理を実行
    }
    alert("1");
}
// -->
</script>
<input type="button" value="submit" onclick="a()">
</body></html>

setTimeoutに関数を指定する
setTimeout関数の第一引数に関数を指定できます。
指定する場合、以下のようにダブルクォーテーションで囲みます。

setTimeout("test()",0);

また、setTimeoutに指定する関数に引数を持たせたい場合、そのまま渡すことができます。以下、例です。



以下、ソースです。

<input type="button" value="submit" onclick="b();" />
<script type="text/javascript">
<!--
function test(sec){
    alert(sec + "秒後に実行されました");
}
function b(){
    setTimeout("test(3)",3000);// 3秒後に処理実行

    for(i=0;i<500000;i++){
        // 長い処理を実行
    }
    alert("1");
}
// -->
</script>