let timeout, n = 0, delay = 250;
document.querySelector(".clicker").addEventListener("click", function(event) {
++n;
clearTimeout(timeout);
timeout = setTimeout(() => {
clickHandler.call(this, n, event);
n = 0;
}, delay);
// a visual aid for how many times you've already clicked in this sequence
event.target.textContent = n;
});
// just something visual
const cssNamedColors = ["Maroon","Red","Orange","Yellow","Olive","Green","Purple","Fuchsia","Lime","Teal","Aqua","Blue","Navy","Black","Gray","Silver","White"];
// decide what to do for *n* clicks:
function clickHandler(n, event) {
event.target.style.background = cssNamedColors[n-1];
event.target.textContent = n + " - " + cssNamedColors[n-1];
}
.clicker {
display: block;
background: #888;
padding: 100px 0;
text-align: center;
font-size: 36px;
color: white;
cursor: pointer;
text-shadow: -1px -1px 3px #000, 1px -1px 3px #000, -1px 1px 3px #000, 1px 1px 3px #000;
}
<div class="clicker">(Multi-)Click me</div>