2024-04-21 16:41:13 +00:00
|
|
|
let timerRunning = false;
|
|
|
|
let startTime;
|
|
|
|
let elapsedTime = 0;
|
|
|
|
let timerHistory = [];
|
2024-04-21 17:00:20 +00:00
|
|
|
let challengeRunning = false;
|
|
|
|
let challengeStartTime;
|
|
|
|
let challengeTimes = [];
|
2024-04-21 16:41:13 +00:00
|
|
|
|
|
|
|
const timerButton = document.getElementById('timerButton');
|
|
|
|
const historyList = document.getElementById('historyList');
|
2024-04-21 17:00:20 +00:00
|
|
|
const challengeButton = document.getElementById('challengeButton');
|
2024-04-21 16:41:13 +00:00
|
|
|
timerButton.addEventListener('click', function() {
|
|
|
|
if (!timerRunning) {
|
|
|
|
startTime = Date.now() - elapsedTime;
|
|
|
|
timerRunning = true;
|
|
|
|
timerButton.textContent = 'Stop Timer';
|
|
|
|
} else {
|
|
|
|
elapsedTime = Date.now() - startTime;
|
|
|
|
timerRunning = false;
|
|
|
|
timerButton.textContent = 'Start Timer';
|
|
|
|
recordTime(elapsedTime);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
2024-04-21 17:00:20 +00:00
|
|
|
challengeButton.addEventListener('click', function() {
|
|
|
|
if (!challengeRunning) {
|
|
|
|
challengeStartTime = Date.now();
|
|
|
|
challengeRunning = true;
|
|
|
|
challengeButton.textContent = 'Tap at 2 seconds';
|
|
|
|
} else {
|
|
|
|
let tapTime = Date.now();
|
|
|
|
let interval = tapTime - challengeStartTime;
|
|
|
|
challengeTimes.push(interval);
|
|
|
|
challengeRunning = false;
|
|
|
|
challengeButton.textContent = '⏱️ 2-Second Challenge ⏱️';
|
|
|
|
recordChallengeTime(interval);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
2024-04-21 16:41:13 +00:00
|
|
|
function recordTime(time) {
|
|
|
|
timerHistory.push(time);
|
|
|
|
const newTime = document.createElement('li');
|
|
|
|
newTime.textContent = `Time: ${time} ms`;
|
|
|
|
historyList.appendChild(newTime);
|
|
|
|
}
|
2024-04-21 17:00:20 +00:00
|
|
|
|
|
|
|
function recordChallengeTime(time) {
|
|
|
|
const newTime = document.createElement('li');
|
|
|
|
newTime.textContent = `Attempt: ${time} ms - ${Math.abs(2000 - time)} ms off`;
|
|
|
|
resultsList.appendChild(newTime);
|
|
|
|
}
|