職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

Javascriptの超入門編23--タイマー活用

2018年10月31日 | JavaScript
タイマー活用


【開発環境】
OS;Window10
Webブラウザ:Google Chrome
テキストエディタ:Brackets

■タイマーの起動と停止
JavaScriptには、指定した時間後に何らかの処理をさせたり、一定時間ごとに同じ処理を行ったりする時に便利なタイマー機能が用意されています。

・タイマーのセットは
setTimeout(コールバック関数、時間)メソッドを使ってタイマーを起動させる。

・タイマーの使用例

・スクリプト
<!DOCTYPE html>
<html lang="ja">

<head>
<meta charset="utf-8">
<title>JavaScriptのテスト</title>
 <style>
  #main {
 width: 500px;
 margin: 0 auto;
 position: relative;
}
 </style>
</head>

<body>
 <div id="myDiv">
     //id属性"disp"のh1エレメントを用意し、「タイマー起動中です」を表示する。
<h1 id="disp" style="text-align:center;">タイマー起動中です</h1>
 </div>
<script>
     //変数dispに、id属性="disp"のh1エレメントをエレメントオブジェクトとして取得
 var disp = document.getElementById("disp");
     //タイマー設定→setTimeout(無関数、実行時間(3秒後))
 var tId = setTimeout(function () {
disp.innerHTML = "3秒経過しました";
 }, 3000);
</script>
</body>

</html>

■タイマー停止


<!DOCTYPE html>
<html lang="ja">

<head>
 <meta charset="utf-8">
 <title>JavaScriptのテスト</title>
 <style>
  #main {
 width: 500px;
 margin: 0 auto;
 position: relative;
}
 </style>
</head>

<body>
<div id="myDiv">
<h1 id="disp" style="text-align:center;">タイマー起動中です</h1>
</div>

<script>
var disp = document.getElementById("disp");
var tId = setTimeout(function () {
disp.innerHTML = "3秒経過しました";
}, 3000);
  //h1エレメントがクリックされたら、clearTimeout()メソッドを実行してタイマーを停止
disp.addEventListener("click", function () {
clearTimeout(tId);
disp.innerHTML = "タイマーを停止しました";
});
</script>
</body>

</html>

■タイマーを使用して繰り返し処理する
タイマーを使用して繰り返し同じ処理を行うには、setTimeout()メソッドを使う。



<!DOCTYPE html>
<html lang="ja">

<head>
<meta>
<title>JavaScriptのテスト</title>
<style>
         //背景
#myDiv {
width: 500px;
margin: 0 auto;
position: relative;
}
//時計のスタイルシート
#disp {
text-align:center;
margin:0;
background-color: burlywood;
font-size: 100px;
font-family:"Osaka−等幅","MS ゴシック","monospace";
}
</style>
</head>

<body>
<div id="myDiv">
//id属性が「disp」のPエレメントを用意
<p id="disp"></p>
</div>
<script>
var tID;
         //id属性「disp」を変数dispに入れる
var disp = document.getElementById("disp");

         //clock関数
function clock() {
var now = new Date();→現在の日付を取り出す
         //日付を文字に置換える
disp.innerHTML = now.toLocaleTimeString();
// 500ミリ秒ごとに自分自身を呼び出す
tId = setTimeout(clock, 500);
}
clock();
</script>
</body>

</html>

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする