Simple JS Timer that runs every given seconds
Modification of the MDN Example --> Here.
/*
<div id="test">
<h1>Hello World</h1>
</div>
*/
const element = document.getElementById('test');
let start, previousTimeStamp;
timerConfig = {
frequency: 1, // Seconds
stopAt: 10, // Seconds,
pos: 1, // px
posStep: 10, // px
updatePos: () => {
timerConfig.pos = timerConfig.pos + timerConfig.posStep;
}
}
function timer(timestamp) {
if (start === undefined) start = timestamp;
if (previousTimeStamp === undefined) previousTimeStamp = timestamp;
const seconds = timerConfig.frequency*1000;
const tick = timestamp - previousTimeStamp;
function trigger() {
element.style.transform = 'translateX(' + timerConfig.pos + 'px)';
}
if (tick >= seconds) {
trigger();
previousTimeStamp = timestamp; // Updating The Timer each second
timerConfig.updatePos();
}
if (timestamp < timerConfig.stopAt*1000) requestAnimationFrame(timer); // 10 Seconds
}
requestAnimationFrame(timer);