File size: 1,324 Bytes
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
let startTime, endTime, clicks = 0, cps = 0;
let intervalId, timeoutId;

document.getElementById('start-button').addEventListener('click', startTest);

function startTest() {
  document.getElementById('start-button').classList.add('active');
  document.getElementById('start-button').innerHTML = '0';
  startTime = new Date().getTime();
  intervalId = setInterval(updateCounter, 1000);
  timeoutId = setTimeout(endTest, 15000);
  document.addEventListener('click', countClick);
}

function countClick() {
  clicks++;
  document.getElementById('start-button').innerHTML = clicks;
}

function updateCounter() {
  cps = Math.round((clicks / ((new Date().getTime() - startTime) / 1000)) * 100) / 100;
  document.getElementById('cps-display').innerHTML = `Clicks Per Second: ${cps}`;
  document.getElementById('timer').innerHTML = `Time remaining: ${Math.ceil((15000 - (new Date().getTime() - startTime)) / 1000)} seconds`;
}

function endTest() {
  clearInterval(intervalId);
  clearTimeout(timeoutId);
  document.removeEventListener('click', countClick);
  document.getElementById('cps-display').innerHTML = `Your Clicks Per Second: ${cps}`;
  document.getElementById('timer').innerHTML = '';
  document.getElementById('start-button').innerHTML = 'Start';
  document.getElementById('start-button').classList.remove('active');
}