您好我正在制作一个反应测试游戏,我希望能够始终显示最快的时间。我遇到了麻烦,因为最快的时间总是与最近的时间相匹配。
这是相关的一段代码。
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";
}
感谢您的帮助。
答案 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 < quickestTime
将newTime
与quickestTime
进行比较,如果 <{1}},则将quickestTime
分配给变量{{1} }}。