比较2次并显示最快 - Javascript

时间:2017-04-09 12:29:59

标签: 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";
                }

感谢您的帮助。

2 个答案:

答案 0 :(得分: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,这样你就不会在每次代码运行时都覆盖它。

答案 1 :(得分:0)

var quickestTime = "";

function bestTime (newTime) {

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

}

newTime是最新播放的时间。
quickestTime是前几轮中最快的时间。
quickestTime === ""是第一次播放。由于之前没有quickestTime,因此空字符串将替换为newTime newTime < quickestTimenewTimequickestTime进行比较,如果 <{1}},则将quickestTime分配给变量{{1} }}。