2017-01-13 17 views
5

こんにちは私はJavascriptプログラミングの初心者です。Javascriptで経過した時間を測定する方法は?

私は、ユーザーがボックスをクリックする必要がある単純なゲームを作成しました。 ゲームは、ユーザーが16個のボックスをクリックし終えると終了します。

ユーザーがゲームを完了するまでの経過時間を測定したいと考えています。 Javascriptを使ってどのようにすればいいですか?

編集:私ははっきりしていたはずです。私は自分の頭にアルゴリズムを持っています。私は私の研究を行った。私は異なった答えを見た。しかし、彼らは私が苦労して自分のコードを示してくれたので役に立たなかった。

タイマスタート:ユーザーが最初のボックス

タイマー終了をクリック:ユーザーが最後のボックスをクリックすると

ありがとうございました。

+0

ユーザーが開始してから終了するまでの時間をミリ秒単位で格納すると、ミリ秒単位で時間が経過するように1つずつ減算されます。私はまだ多くのことをしていないようだから少しの研究をさせてください – AxelH

+0

さらに重複:http://stackoverflow.com/questions/313893/how-to-measure-time-taken-by-a-関数実行する – icc97

答えて

20

開始ボタンをクリックして終了ボタンをクリックします。 2回のクリックの間の秒数が表示されます。

ミリ秒の差分は変数timeDiffです。秒/分/時間を見つけて、それを再生する/あなたが今、あなたが経過し、可変カウント秒を持って、行くあり

var startTime, endTime; 
 

 
function start() { 
 
    startTime = new Date(); 
 
}; 
 

 
function end() { 
 
    endTime = new Date(); 
 
    var timeDiff = endTime - startTime; //in ms 
 
    // strip the ms 
 
    timeDiff /= 1000; 
 

 
    // get seconds 
 
    var seconds = Math.round(timeDiff); 
 
    console.log(seconds + " seconds"); 
 
}
<button onclick="start()">Start</button> 
 

 
<button onclick="end()">End</button>

+2

誰もこれをdownvoteだろうか?それは素晴らしい答えです –

+0

あなたの種類の答えをありがとう!非常に非常に明確で理解しやすい!私はこれを私のコードに適用するためにプレイします! – Leonard

+1

@レオナード答えを受け入れることを忘れないでください – Weedoze

0
var seconds = 0; 
setInterval(function() { 
    seconds++; 
}, 1000); 

必要なもの。コンテキストがわからないので、その変数をオブジェクトにアタッチするかグローバルにするかを決定する必要があります。

設定間隔は、関数を第1パラメータとして受け取り、関数を2番目のパラメータとして繰り返すためのミリ秒数の関数です。

時間を保存して比較することでも解決できます。

+0

あなたの優しい説明をありがとう。私は時間を測定する別の方法を学んだ:) – Leonard

関連する問題