JSFiddle - React, Tailwind, and code Playground

HTML

<div class="spinner-wrap">
		<div class="spinner spinner-1">
			<div class="button button-1"></div>
			<div class="mask"></div>
		</div>
		<div class="spinner spinner-2">
			<div class="button button-2"></div>
			<div class="mask"></div>
		</div>
		<div class="spinner spinner-3">
			<div class="button button-3"></div>
			<div class="mask"></div>
		</div>
	</div>

CSS

body{
    background: #71CEF0;
}
.spinner{
    width: 50px;
    height: 50px;
    border-radius: 50%;
    position: relative;
}
.spinner-1{
    display: none;
    background: #5BAECC;
}
.spinner-2{
    display: none;
    background: white;
}
.spinner-3{
    display: none;
    background: #FFC700;
}
.button{
  position: relative;
  display: inline-block;
  width: 25px;
  height: 50px;
  border: solid transparent;
  border-width: 0 0 0 25px;
  border-radius: 50px;
  outline: none;
  overflow: hidden;
}
.button:before{
  content: "";
  position: absolute;
  left: -25px;
  height: 50px;
  border-right: 25px solid transparent;
  border-radius: 50px;
  animation: rotate1 1s linear infinite;
}
.button-1 {
  -webkit-animation: background1 1s linear infinite;
  animation: background1 1s linear infinite;
}
.button-2{
  -webkit-animation: background2 1s linear infinite;
  animation: background2 1s linear infinite;
}
.button-3{
  -webkit-animation: background3 1s linear infinite;
  animation: background3 1s linear infinite;
}
.button-1:before {
  border-left: 25px solid white;
  -webkit-animation: rotate1 1s linear infinite;
}
.button-2:before {
  border-left: 25px solid #FFC700;
  -webkit-animation: rotate2 1s linear infinite;
}
.button-3:before {
  border-left: 25px solid #5BAECC;
  -webkit-animation: rotate3 1s linear infinite;
}
.mask{
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #71CEF0;
    position: absolute;
    top: 0;
    left: 0;
    margin-top: 5px;
    margin-left: 5px;
}
@-webkit-keyframes background1 {
  49.999% {border-width: 0 0 0 25px; border-color: transparent;}
  50%, 100% {border-width: 0 25px 0 0; border-color: white;}
}
@-webkit-keyframes rotate1 {
  49.999% {left: -25px;}
  50% {left: 0px;}
  100% {-webkit-transform: rotate(360deg); left: 0px;}
}
@keyframes background1 {
  49.999% {border-width: 0 0 0 25px; border-color: transparent;}
  50%, 100% {border-width: 0 25px 0 0; border-color: white;}
}
@keyframes rotate1 {
 ...

JavaScript

$(function(){

			var s1 = $('.spinner-1'),
				s2 = $('.spinner-2'),
				s3 = $('.spinner-3');

			s1.css('display', 'block');

			function changeSpiner(){

				if(s1.css('display') == 'block'){
					s1.hide();
					s2.show();
				}
				else if(s2.css('display') == 'block'){
					s2.hide();
					s3.show();
				}
				else if(s3.css('display') == 'block'){
                    s1.show();
					s3.hide();
					
				}
			}
			setInterval(changeSpiner, 1000);
		});