2014年9月21日日曜日

一定時間後に指定の関数を実行する

10秒間にボタンを何回押したか?といった処理を行いたい時に、10秒後にcheck関数を動かすといった処理を行いたいとする。そんな時にはsetTimeoutを使う。setTimeoutは指定の時間が経過した時に指定した関数を実行するもので、setTimeout(関数名, ミリ秒)で指定する。

var counter = 0;
setTimeout(check, 10000);

//カウンターに関する関数でボタンのonclickで実行する関数。
function  count(){
    counter++:
}

function check(){
    alert(counter + “回クリックしました。”);
}

このようにすることで、10000ミリ秒(10秒)後にcheck関数を実行することができます。setTimeoutはsetIntervalとは異なり、実行は一回だけなので、clearTimeoutで実行の停止を行う必要はありません。

他の条件を満たした場合はsetTimeoutで指定した関数を実行しない場合は、

checkTimer = setTimeout(check, 10000);

//setTimeoutで指定した関数が実行される前に何らかの条件を満たした場合
if( counter > 100 ){
    clearTimeout(checkTimer);
}

clearTimeoutで実行予定の指示を削除することができます。

0 件のコメント:

コメントを投稿