cps / script.js
Sergidev's picture
Update script.js
099bdb6 verified
raw
history blame
1.47 kB
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);
}