| 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)}`; | |
| } |