2017-04-09 4 views
-1

こんにちは私は反応テスターゲームを作っていますし、いつも最も速い時間を表示できるようにしたいと思います。最も早い時刻が常に最新の時刻と一致するので、私は問題を抱えています。2回比較して最も速い表示 - Javascript

ここに関連するコードがあります。

var timeTaken = (end - start)/1000; 

       var bestTime =""; 

       document.getElementById("timeTaken").innerHTML = timeTaken + "s"; 

       if (bestTime =="") { 

        bestTime = timeTaken; 

        document.getElementById("quickestTime").innerHTML = bestTime + "s"; 

       } 

       if (timeTaken < bestTime) { 

        bestTime = timeTaken; 

        document.getElementById("quickestTime").innerHTML = bestTime + "s"; 
       } 

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

+1

文字列を比較します。つまり、文字列の並び方を比較します(たとえば 'b '>' a ')。適切に比較するには、まず文字列を数値に変換する必要があります。 –

+0

'bestTime'は常に' '"と同じです。 – epascarello

+0

@ M.Prokhorov文字列の比較はありません。 – epascarello

答えて

1

コードが実行されるたびに、bestTimeがリセットされ、timeTakenに表示されます。

var bestTime =""; <-- sets best time to empty 
if (bestTime =="") { <--checks to see it if it is "" 
    bestTime = timeTaken; <-- will set it to the current time 

コードを実行するたびに上書きしないように、呼び出す関数の外でbestTimeを定義する必要があります。

0
var quickestTime = ""; 

function bestTime (newTime) { 

    if (quickestTime === "" || newTime < quickestTime) { 
    quickestTime = newTime; 
    document.getElementById("bestTime").innerHTML = quickestTime; 
    } 

} 

は最新の再生時間です。
quickestTimeは、前回の最短時間です。
quickestTime === ""は、最初の試合用です。前にはquickestTimeがないので、空の文字列はnewTimeに置き換えられます。
newTime < quickestTimequickestTimenewTimeを比較し、それがquickestTimeより小さい場合、quickestTime変数newTimeに割り当てられます。

+2

関連する説明を入力してください。 –

関連する問題