繰り返し処理をする時にsetInterval使うよね。

setInterval(function(){
hogehoge();
},5000) 
var hogehoge = function(){
なんかの処理

↑5秒ごとに hogehogeを実行

みたいな感じで。
スライドショーなんかを自作するときにも使う。


このsetIntervalというのは、第2引数である実行時間(上の例で言うと5000の部分)を待ってから、処理を実行するので、最初の一回の処理も5秒後に行われる。 


でもたまに、最初の処理はすぐに行って欲しい、という時がある。

繰り返しの実行は5秒ごとにしたいけど、最初の1回目だけはすぐにスタートして欲しい!5秒も待ってられない!死ぬ!っていうとき。

そういう時はこう。

hogehoge();
setInterval(function(){
hogehoge();
},5000) 
var hogehoge = function(){
なんかの処理

最初にhogehoge()を置いただけ。
 そんだけか・・って感じすけど。。

クリックでスタートしたい時は以下のようにする。

$(".startBtn").click(function(){
hogehoge();
var hogeTimeout = setInterval(function(){
hogehoge();
},5000) 
});
var hogehoge = function(){
なんかの処理



クリックでスタートするときは、のちのち、止める処理が必要になったりするので、
hogeTimeoutとか名前をつけた変数にいれておいて、とめたいときには
clearTimeout(hogeTimeout);などとするといい。

最初の1回はすぐ実行で
もっと良い方法があったら知りたい。