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