JSFiddle - React, Tailwind, and code Playground
by toddwprice
HTML
<input type="text" id="theMessage" value="Loading" /><input type="button" id="show" value="Show" />
<input type="button" id="hide" value="Hide" />
<div id="progress">
<ul id="circle">
<li></li>
<li></li>
<li></li>
<li></li>
<li id="msg">Loading...</li>
</ul>
</div>
CSS
#progress {
opacity: 1;
-webkit-transition: opacity 0.5s ease-in-out;
}
#msg {
font-family: Arial,Helvetica,sans-serif;
font-size: 11px;
letter-spacing: 2px;
padding-top: 40px;
padding-left: 20px;
}
#circle {
font-size: 100px;
width: 1em;
height: 1em;
position: relative;
margin: 100px auto;
border-radius: 50%;
border: .01em solid rgba(50,50,50,0.1);
background-color: #fff;
list-style: none;
}
#circle li {
position: absolute;
width: .2em;
height: .2em;
border-radius: 50%;
}
#circle li:nth-child(1) {
left: 50%;
top: 0;
margin: 0 0 0 -.1em;
background: #711A1C;
-webkit-transform-origin: 50% 250%;
-moz-transform-origin: 50% 250%;
-ms-transform-origin: 50% 250%;
-o-transform-origin: 50% 250%;
transform-origin: 50% 250%;
-webkit-animation:
rota 1.13s linear infinite,
opa 3.67s ease-in-out infinite alternate;
-moz-animation:
rota 1.13s linear infinite,
opa 3.67s ease-in-out infinite alternate;
-ms-animation:
rota 1.13s linear infinite,
opa 3.67s ease-in-out infinite alternate;
-o-animation:
rota 1.13s linear infinite,
opa 3.67s ease-in-out infinite alternate;
animation:
rota 1.13s linear infinite,
opa 3.67s ease-in-out infinite alternate;
}
#circle li:nth-child(2) {
top: 50%;
right: 0;
margin: -.1em 0 0 0;
background: #76BF87;
-webkit-transform-origin: -150% 50%;
-moz-transform-origin: -150% 50%;
-ms-transform-origin: -150% 50%;
-o-transform-origin: -150% 50%;
transform-origin: -150% 50%;
-webkit-animation:
rota 1.86s linear infinite,
opa 4.29s ease-in-out infinite alternate;
-moz-animation:
rota 1.86s linear infinite,
opa 4.29s ease-in-out infinite alternate;
-ms-animation:
rota 1.86s linear infinite,
opa 4.29s ease-in-out infinite alternate;
...
JavaScript
$('#show').click(function() {
$('#progress').css('opacity', '1').find('#msg').text($('#theMessage').val());
});
$('#hide').click(function() {
$('#progress').css('opacity', '0');
});