let startTime; let clicks = 0; let cps = 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 = ''; document.getElementById('click-counter').innerHTML = '0'; document.addEventListener('click', countClick); } function updateTimer() { let currentTime = new Date().getTime(); let timeElapsed = currentTime - startTime; let secondsRemaining = 15 - Math.floor(timeElapsed / 1000); let minutesRemaining = Math.floor(secondsRemaining / 60); let secondsRemainingDisplay = secondsRemaining % 60; document.getElementById('timer').innerHTML = `${minutesRemaining}:${secondsRemainingDisplay.toString().padStart(2, '0')}`; if (secondsRemaining <= 0) { endTest(); } } function countClick() { clicks++; document.getElementById('click-counter').innerHTML = clicks.toString(); cps = clicks / (new Date().getTime() - startTime) * 1000; document.getElementById('cps-display').innerHTML = `Clicks Per Second: ${cps.toFixed(2)}`; } function endTest() { clearInterval(intervalId); document.getElementById('cps-display').innerHTML = `Total Clicks Per Second: ${cps.toFixed(2)}`; document.removeEventListener('click', countClick); }