JSFiddle - React, Tailwind, and code Playground
HTML
<button id="send">
Oui carrément !
</button>
<input type="range" id="speed" value="500" min="200" max="2000" step="100">
<p>
Delay: <span id="state"></span> seconds
</p>
CSS
body {
text-align: center;
font-family: sans-serif;
font-size: 1.5em;
}
button {
font-size: 1.5em;
margin: 2em auto 1em auto;
width: 400px;
display: block;
font-weight: 800;
text-transform: uppercase;
}
input[type="range"] {
width: 400px;
}
JavaScript
var msgs = ["Mais grave !", "Oh oui !", "Oui carrément !"];
var btn = document.querySelector("#send");
var speed = document.querySelector("#speed");
var state = document.querySelector("#state");
var interval;
function updateMsg() {
let msg = msgs.shift();
msgs.push(msg);
btn.innerHTML = msg;
}
function updateSpeed() {
let delay = speed.value;
clearInterval(interval);
interval = setInterval(updateMsg, delay);
state.innerHTML = delay/1000;
}
speed.addEventListener("input", updateSpeed);
updateSpeed();