JSFiddle - React, Tailwind, and code Playground
HTML
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<div><span class="admin-stats-big-figures">One</span> </div>
<div><span class="admin-stats-big-figures-hidden">Two</span> </div>
<hr/>
<input type="button" value="Start" onclick="myAnim.start()"/> | <input type="button" value="Stop" onclick="myAnim.stop()"/>
JavaScript
var myAnim = {
elements : null,
interval : null,
delay : { fade: 500, anim: 200 },
init : function(classNameOne, classNameTwo, fadeDelay, animDelay) {
this.elements = [$("."+classNameOne),$("."+classNameTwo)];
if (animDelay) this.delay.anim = animDelay;
if (fadeDelay) this.delay.fade= fadeDelay;
this.elements[0].fadeOut(function(){myAnim.start()});
},
update : function() {
this.elements[0].fadeToggle(this.delay.anim,function(el,delay){el.fadeToggle(delay)}(this.elements[1],this.delay.anim));
},
start : function() {
if (this.interval) return;
this.interval = setInterval(function(){myAnim.update()},this.delay.fade);
},
stop : function () {
if (!this.interval) return;
clearInterval(this.interval);
this.interval = null;
}
}
$(document).ready(
function(){
myAnim.init("admin-stats-big-figures","admin-stats-big-figures-hidden",500,200);
}
);