File size: 1,466 Bytes
b784ba3 099bdb6 b784ba3 a619b24 b784ba3 099bdb6 a619b24 b784ba3 099bdb6 b784ba3 a619b24 b784ba3 099bdb6 a619b24 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
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);
} |