JSFiddle - React, Tailwind, and code Playground
JavaScript
var timer;
var doSlide = false;
var i = 0;
function Slide(){
timer = setTimeout(function(){
if(doSlide == true){
Slide();
i++; // Same as i = i + 1
console.log('Sliding');
if(i == 3) AbortSlide(); /* Abort on third slide! Dont use this in your logic!*/
} else if(doSlide == false){
console.log('Sliding aborted untill next RunSlide() call!')
clearTimeout(timer);
}
},1000);
}
function RunSlide(){
doSlide = true;
Slide();
}
function AbortSlide(){
doSlide = false;
clearTimeout(timer); // Clear the timer after Abortcall!
i = 0; // Resetting the count! Dont use this in your logic!
}
RunSlide();