JSFiddle - React, Tailwind, and code Playground
CSS
div{
border: solid 4px;
}
JavaScript
var anim = (function() {
var i = 0;
var step = 10;
var up = true;
var timer = null;
var next = function() {
if (up) {
i += step;
}
else {
i -= step;
}
if(i<0){i=0; up=true;}
if(i>255){i=255; up=false;}
update();
};
var update = function() {
$("div").css("border-color", 'rgb(' + i + ',' + i + ',' + 0 + ')');
};
var go = function() {
next();
timer = window.setTimeout(anim.go, 30);
};
var stop = function() {
if (timer) {
window.clearTimeout(timer);
timer = null;
}
};
var addClickHandler = function() {
$("div").click(function() {
if(timer){
anim.stop();
}
else{
anim.go();
}
});
};
return {
go: go,
stop: stop,
addClickHandler: addClickHandler
};
}());
anim.addClickHandler();
anim.go();