小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

JavaScriptでsleepする

追記(2013/11/12)

コメントでも指摘されているように、従来のsleep処理は、他の処理をブロックしてしまいます。
ブロックしたくない場合は、以下の引用のようにsetTimeoutを利用する方法があります。

function sleep(time, callback){
setTimeout(callback, time);
}
alert("1");
sleep(3000, function (){ alert("2"); } );

http://yanor.net/wiki/?JavaScript%2F%E3%82%BF%E3%82%A4%E3%83%9E%E3%83%BC%E5%87%A6%E7%90%86%2Fsleep%E3%81%84%E3%82%8D%E3%81%84%E3%82%8D
                                                                                • -

従来のsleep処理

意外かもしれませんが、JavaScriptには、PerlC言語ではお馴染みのsleep関数がありません。
なので、JavaScriptでは以下のように、現時間+sleep時間の間、ループさせてあたかもsleepをさせます。

function Sleep( T ){ 
   var d1 = new Date().getTime(); 
   var d2 = new Date().getTime(); 
   while( d2 < d1+1000*T ){    //T秒待つ 
       d2=new Date().getTime(); 
   } 
   return; 
} 
Sleep( 1 );//1秒待つ 
http://chaichan.lolipop.jp/qa3500/qa3644.htm#r3