これは関連するコードセクションです:反応時間を測定するシンプルなボタンクリックゲーム。どのように私はjavascriptで最も速い時間を節約するのですか
var bestTime = 0;
if (timeTaken > bestTime) {
bestTime = timeTaken;
document.getElementById("best").innerHTML = bestTime + "s"
} else {
document.getElementById("best").innerHTML = timeTaken + "s"
}
広い範囲:
var end = new Date().getTime();
var timeTaken = (end - start)/1000;
document.getElementById("timer").innerHTML = timeTaken + "s";
var bestTime = 0 ;
if (timeTaken > bestTime) {
bestTime = timeTaken;
document.getElementById("best").innerHTML = bestTime + "s"
} else {
document.getElementById("best").innerHTML = timeTaken + "s"
}
完全なプログラムは:
<head>
<title>Reaction Timer</title>
<style type="text/css">
#topcontainer {
width: 100%;
height: 150px;
}
#shape {
width: 200px;
height: 200px;
background-color: ;
display: none;
position: relative;
}
</style>
</head>
<body>
<div id="topcontainer">
<h1>Test Your Reactions!</h1>
<h2>Click on the boxes and circles as quickly as you can!</h2>
<h3>Your time: <span id="timer"></span> </h3>
<p>Best time: <span id="best"> </span> </p>
</div>
<div id="shape"></div>
<script type="text/javascript">
var start = new Date().getTime();
function getRandomColor() {
var letters = 'ABCDEF';
var color = '#';
for (var i = 0; i < 6; i++) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
}
function makeShapeAppear() {
var top = Math.random() * 400;
var left = Math.random() * 400;
var width = Math.random() * 200;
if (Math.random() > 0.5) {
document.getElementById("shape").style.borderRadius = "50%";
} else {
document.getElementById("shape").style.borderRadius = "0%";
}
document.getElementById("shape").style.backgroundColor = getRandomColor();
document.getElementById("shape").style.top = top + "px";
document.getElementById("shape").style.left = left + "px";
document.getElementById("shape").style.height = width + "px";
document.getElementById("shape").style.width = width + "px";
document.getElementById("shape").style.display = "block";
start = new Date().getTime();
}
function appearAfterDelay() {
setTimeout(makeShapeAppear, Math.random() * 2000);
}
appearAfterDelay();
document.getElementById('shape').onclick = function() {
document.getElementById("shape").style.display = "none";
var end = new Date().getTime();
var timeTaken = (end - start)/1000;
document.getElementById("timer").innerHTML = timeTaken + "s";
var bestTime = 0 ;
if (timeTaken > bestTime) {
bestTime = timeTaken;
document.getElementById("best").innerHTML = bestTime + "s"
} else {
document.getElementById("best").innerHTML = timeTaken + "s"
}
appearAfterDelay();
}
</script>
</body>
Stacへようこそkオーバーフロー! [ask]をお読みください。重要なフレーズ:「検索と研究」と「あなたがそれを自分で解決することを妨げた困難を説明する」 –
https://www.w3schools.com/html/html5_webstorage.aspのようにローカルにPCに保存するか、Webサーバーに投稿してデータベースまたはファイル – user2202098
に保存するだけで、なぜlocalStorageに保存しないのですか。 https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage – Korgrue