JavaScriptのsetInterval()を使い、一定間隔で処理を繰り返す。
2013/08/24
一定間隔で処理を繰り返すときに便利なのがsetInterval()です。繰返しは任意のタイミングで止めることもできます。
まずは、簡単なタイマー処理をマスターしましょう!
今日は、コレを作りましょう!
0(ゼロ)からスタートし、数値が100になったら止まります。
0

HTML
まずは、HTMLからです。
idで名前を付けておきます。
<p id="txtBox">0</p>
CSS
今回、CSSは必要ありませんが、文字サイズや色を変える場合は入力してください。
<style type="text/css">
#txtBox{
font-size: 120px;
color:#333;
}
</style>
JavaScript
一定間隔で処理を繰り返すには、setInerval()を使用します。setInterval()は、繰り返す処理と繰り返す間隔をパラメータで指定します。また、繰り返しの処理を止める必要がある場合は、戻り値を変数に格納しておきます。
変数 = setInterval(“繰り返す処理” , 間隔);
間隔は、1000が1秒間隔です。500を指定すると0.5秒間隔で処理を繰り返します。
<script type="text/javascript">
var time; // タイマーの戻り値
var num=0; // 数値
//タイマーの設定
time = setInterval("syori();",100);
//繰り返す処理を記述した関数
function syori(){
num++;
document.getElementById("txtBox").innerHTML = num;
if(num >= 100){
//タイマーによる繰り返しをストップ
clearInterval(time);
}
}
</script>
clearInterval()により、繰り返しを止めることができますが、この時に必要になるのがsetInterval()の戻り値です。setInterval()の戻り値を引数として指定することで、繰り返しの処理を止めることができます。
全てまとめると
これをHTMLファイルで保存すると、これだけで動作します。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>タイマーを使いこなせ!</title>
<style type="text/css">
#txtBox{
font-size: 120px;
color:#333;
}
</style>
<script type="text/javascript">
var time; // タイマーの戻り値
var num=0; // 数値
//タイマーの設定
time = setInterval("syori();",100);
//繰り返す処理を記述した関数
function syori(){
//numに+1して表示する
num++;
document.getElementById("txtBox").innerHTML = num;
//変数numが100になったら
if(num >= 100){
//タイマーによる繰り返しをストップ
clearInterval(time);
}
}
</script>
</head>
<body>
<p id="txtBox">0</p>
</body>
</html>
スライドショーなど一定間隔で画像を切り替えるのに使えます!
こちらも参考に
・window.setInterval(Mozilla Developer Network)
|
【送料無料】入門モダンJavaScript [ ラリー・ウルマン ] |

