JSFiddle - React, Tailwind, and code Playground
HTML
<div id="sampleDiv" class="stop1"></div>
CSS
#sampleDiv {
height:300px;
background-image: linear-gradient(180deg, black, black 50%, transparent);
transition: background-color 2s;
}
.stop1 {
background-color:blue;
}
.stop2 {
background-color:purple;
}
.stop3 {
background-color:green;
}
.stop4 {
background-color:yellow;
}
JavaScript
var classes = [ "stop1", "stop2", "stop3", "stop4" ];
var stopIndex = 0;
var lastClass = classes[0];
window.setInterval(function() {
++stopIndex;
if(stopIndex >= classes.length) {
stopIndex = 0;
}
var newClass = classes[stopIndex];
$('#sampleDiv').removeClass(lastClass).addClass(newClass);
lastClass = newClass;
}, 2000);