Javascript Stopwatch
by Nikolay Petrov
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h1>0</h1>
<button id="stop">stop</button>
JavaScript
/*
var delay = (function() {
var timer = 0;
return function(callback, ms) {
clearTimeout(timer);
timer = setTimeout(callback, ms);
};
})();
*/
var h1 = document.getElementsByTagName('h1')[0],
seconds=0,
t;
function add() {
seconds++;
h1.textContent = seconds;
timer();
}
function timer() {
t = setTimeout(add, 1000);
}
$(document).keypress(function() {
if (t == null) {
timer();
//delay(function(){ clearTimeout(t); }, 5000);
setTimeout(function(){ clearTimeout(t); }, 5000);
}
})
document.getElementById('stop').onclick = function() {
clearTimeout(t);
}