始めにでカウントダウンの数字を保持しておくためのグローバル変数を定義しておく。
var counter = 10;
countdownTimer = setInterval(countdown, 1000);
function countdown(){
counter--;
}
このようにすることで、countdown関数を1000ミリ秒(1秒)毎に実行する。注意する点として、counterは0よりも小さくなっても実行し続けるので、0になって停止したい場合は、
function countdown(){
counter--;
if( counter == 0 ){
clearInterval(countdownTimer);
}
}
setIntervalの実行の際に用意した変数をclearIntervalのカッコの中(引数)に入れて、一定時間ごとの指定を削除する。
(clearhIntervalを使わないならば、setIntervalの値を変数に入れなくても良いです)
HTMLでカウントダウンタイマーを表示する例
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>カウントダウン</title>
<script>
var countdownArea;
//カウントダウンを表示するエリアのオブジェクトを取得しておく
window.onload = function(){
countdownArea = document.querySelector("#countdown");
};
var counter = 10;
countdownTimer = setInterval(countdown, 1000);
function countdown(){
counter--;
//カウントダウンエリアの文字をカウンターの数字で上書き
countdownArea.innerHTML = counter;
if( counter == 0 ){
clearInterval(countdownTimer);
}
}
</script>
</head>
<body>
<div id="countdown"></div>
</body>
</html>
0 件のコメント:
コメントを投稿