|
let startTime; |
|
let endTime; |
|
let clicks = 0; |
|
let intervalId; |
|
|
|
document.getElementById('start-button').addEventListener('click', startTest); |
|
|
|
function startTest() { |
|
startTime = new Date().getTime(); |
|
intervalId = setInterval(updateTimer, 1000); |
|
document.getElementById('start-button').classList.add('active'); |
|
document.getElementById('start-button').innerHTML = '0'; |
|
document.getElementById('start-button').disabled = true; |
|
} |
|
|
|
function updateTimer() { |
|
let currentTime = new Date().getTime(); |
|
let timeElapsed = Math.floor((currentTime - startTime) / 1000); |
|
let timeRemaining = 15 - timeElapsed; |
|
let minutes = Math.floor(timeRemaining / 60); |
|
let seconds = timeRemaining % 60; |
|
document.getElementById('timer').innerHTML = `${minutes}:${seconds.toString().padStart(2, '0')}`; |
|
if (timeRemaining <= 0) { |
|
endTest(); |
|
} |
|
} |
|
|
|
function endTest() { |
|
endTime = new Date().getTime(); |
|
clearInterval(intervalId); |
|
let totalTime = (endTime - startTime) / 1000; |
|
let clicksPerSecond = clicks / totalTime; |
|
document.getElementById('total-clicks').innerHTML = `Total Clicks: ${clicks}`; |
|
document.getElementById('clicks-per-second').innerHTML = `Clicks Per Second: ${clicksPerSecond.toFixed(2)}`; |
|
document.getElementById('start-button').disabled = false; |
|
document.getElementById('start-button').innerHTML = 'Start'; |
|
document.getElementById('start-button').classList.remove('active'); |
|
} |
|
|
|
document.addEventListener('click', countClick); |
|
|
|
function countClick() { |
|
clicks++; |
|
document.getElementById('start-button').innerHTML = clicks; |
|
let clicksPerSecond = clicks / ((new Date().getTime() - startTime) / 1000); |
|
document.getElementById('clicks-per-second').innerHTML = `Clicks Per Second: ${clicksPerSecond.toFixed(2)}`; |
|
} |