JSFiddle - React, Tailwind, and code Playground

by Nicolas PUJOL

HTML

<div id="num">
    0
</div>

<button id="btn">Click</button>

JavaScript

var auto,
    click,
    timer,
    t;

function getTime() {
    var d = new Date();
    return d.getTime();
}

function randomTimeSec() {
    return Math.floor((Math.random() * 5) + 1);
}

function end() {
    if (auto && click) {
        console.log('auto:', auto, 'click:', click, 'Le script a été plus rapide de ', (click - auto) + ' ms (' + ((click - auto) / 1000) + ' secondes)');
    }
}
timer = randomTimeSec() * 1000;
setTimeout(function() {
    document.getElementById('num').innerHTML = '1';
}, timer);

t = setInterval(function() {
    if (document.getElementById('num').innerHTML === '1') {
        clearTimeout(t);
        auto = getTime();
        end();
    }
}, 10);

document.getElementById('btn').addEventListener("click", function() {
    click = getTime();
    end();
});