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