HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

HTML DOMのtimeStampイベントプロパティとは?使い方とサンプルコードを解説

HTML DOM timeStampイベントプロパティの概要

HTML DOMのtimeStampプロパティは、イベントが生成・発火された時点からの経過時間をミリ秒単位で返します。

注意:timeStampは、対象のイベントがイベントシステムによってサポートされている場合にのみ機能します。すべてのイベントで利用できるわけではない点に留意してください。

構文

時間の値(ミリ秒)を取得するには、以下のように記述します。

event.timeStamp

HTML DOM timeStampプロパティの使用例

ここでは、timeStampプロパティを使った簡単なミニゲームの例を紹介します。緑色の「安全エリア」内でカーソルを動かし、指定位置に到達すると、開始からクリアまでの経過時間がミリ秒で表示されます。赤色の「危険エリア」にカーソルが入るとゲームオーバーです。

サンプルコード

<!DOCTYPE html>
<html>
<head>
<title>timeStamp Event</title>
<style>
   * {
      padding: 2px;
      margin:5px;
   }
   form {
      width:70%;
      margin: 0 auto;
      text-align: center;
   }
   #outer {
      width:70%;
      margin: 0 auto;
      padding: 0;
      text-align: center;
      border:1px solid black;
      height: 105px;
      background-color: #28a745;
   }
   input[type="button"] {
      border-radius: 10px;
   }
   #upper {
      border-bottom: 1px solid black;
      height: 40px;
      margin: 0 0 15px 0;
      background-color: #DC3545;
   }
   #lower {
      border-top: 1px solid black;
      height: 40px;
      margin: 15px 0 0 0;
      background-color: #DC3545;
   }
</style>
</head>
<body>
   <form>
      <fieldset>
         <legend>timeStamp-Event</legend>
         <div id="outer">
         <div id="upper"><h2>Danger</h2></div>
         <div id="lower"><h2>Danger</h2></div>
         </div>
         <input type="button" id="start" value="Start" onclick="gameStart()">
         <div id="divDisplay"></div>
      </fieldset>
   </form>
<script>
   var divDisplay = document.getElementById('divDisplay');
   var gameDisplay = document.getElementById('outer');
   function playGame(event) {
      var x = event.clientX;
      var y = event.clientY;
         if(y > 95 && y < 110){
            divDisplay.textContent = 'Keep Going!';
            if(x === 439){
               divDisplay.textContent = 'Congrats! You Did it in '+event.timeStamp+' milliseconds';
               gameDisplay.removeEventListener('mousemove', playGame);
            }
         }
         else{
            divDisplay.textContent = 'You moved to DANGER area. You loose!';
            gameDisplay.removeEventListener('mousemove', playGame);
         }
   }
   function gameStart(){
      gameDisplay.addEventListener('mousemove',playGame);
   }
</script>
</body>
</html>

実行結果

「Start」ボタンをクリックし、カーソルが緑色(安全)エリア内にある場合

ゲーム進行中であることを示すメッセージが表示されます。

HTML DOMのtimeStampイベントプロパティとは?使い方とサンプルコードを解説

「Start」ボタンをクリックし、カーソルが緑色(安全)エリアの端に到達した場合

クリアおめでとうのメッセージとともに、timeStampプロパティで取得した経過時間がミリ秒単位で表示されます。

HTML DOMのtimeStampイベントプロパティとは?使い方とサンプルコードを解説

「Start」ボタンをクリックし、カーソルが赤色(危険)エリアに入った場合

危険エリアに移動したことを知らせるメッセージが表示され、ゲームは終了します。

HTML DOMのtimeStampイベントプロパティとは?使い方とサンプルコードを解説

まとめ

timeStampプロパティを活用することで、イベント発生からの経過時間を簡単に計測できます。ストップウォッチ機能やパフォーマンス計測、ゲームのスコア算出など、さまざまな場面で応用できる便利なプロパティです。

  1. HTML DOM TouchEventのtouchesプロパティとは?使い方とサンプルコードを解説

    TouchEvent touchesプロパティとはHTML DOMのTouchEventにおけるtouchesプロパティは、タッチ面(タッチスクリーンなど)上で発生したすべての接触ポイント(コンタクトポイント)のリストに対応するTouchListオブジェクトを返します。注意:指定されたノード、またはその子ノード上でタッチが発生した場合、その後に続くタッチ操作は、同じノード上で発生していなくてもカウント対象になります。構文TouchListオブジェクトを取得するための構文は以下の通りです。event.touches補足:本記事のタッチイベントのサンプルコードは、モバイル端末やタッチ操作対応デバイ

  2. HTML DOM Event typeプロパティとは?イベントの種類を取得する方法を実例付きで解説

    HTML DOM Event typeプロパティとはHTML DOMのEvent typeプロパティは、発生したイベントの種類に対応する文字列を返すプロパティです。「click」「keypress」「load」「touchend」など、さまざまなイベントタイプを取得できます。構文イベントの種類を文字列として取得するには、以下のように記述します。event.typeそれでは、Event typeプロパティの具体的な使用例を見ていきましょう。使用例以下のサンプルでは、赤い円形の要素に対して「クリック」または「タッチ」が行われた際に、event.typeでイベントの種類を判定しています。イベントの種