JSFiddle - React, Tailwind, and code Playground

by Ulrich Bangert

HTML

<span id="out"></span>
<button id="start-stop-btn">
Start/Stop
</button>
<button id="reset-btn">
Reset
</button>

JavaScript

var sum = 0, running = false, started,
    vOut = document.getElementById('out');
document.getElementById('start-stop-btn').addEventListener('click', function() {
  if (!running) {
    started = Date.now();
    running = true;
  } else {
    sum += Date.now() - started;
    running = false;
  }
});

setInterval(function() {
  if (running) {
    tim = Date.now() - started + sum;
    vOut.textContent = (tim / 1000).toFixed(1);
  }
}, 100);

document.getElementById('reset-btn').addEventListener('click', function() {
  if (!running) {
    sum = 0;
    vOut.textContent = '';
  }
});