OTS Progress Circles
by James
HTML
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script src="http://code.jquery.com/color/jquery.color-2.1.2.min.js"></script>
<div class="container">
<div class="progress-bar-wrapper hover panel">
<div class="loading-spinner circle front">
<img src="http://whatsmylot.com/style/spinner.gif" class="spinner" />
</div>
<div class="success-spinner circle back"></div>
</div>
</div>
CSS
.progress-bar-wrapper {
margin: 10px;
margin-top: 50px;
width: 65px;
height: 65px;
float: left;
position: relative;
-webkit-perspective: 600px;
-moz-perspective: 600px;
perspective: 600px;
}
.spinner {
width: 50px;
margin: 7.5px;
}
.panel .front {
float: none;
position: absolute;
top: 0;
left: 0;
z-index: 900;
}
.panel .back {
float: none;
position: absolute;
top: 0;
left: 0;
z-index: 800;
}
.circle {
background: gainsboro;
width: 65px;
height: 65px;
border-radius: 50%;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .15);
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .15);
}
.front {
-webkit-transform: rotateX(0deg) rotateY(0deg);
-moz-transform: rotateX(0deg) rotateY(0deg);
transform: rotateX(0deg) rotateY(0deg);
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transition: all .4s ease-in-out;
transition: all .4s ease-in-out;
}
.back {
-webkit-transform: rotateY(-180deg);
-moz-transform: rotateY(-179deg);
transform: rotateY(-179deg);
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transition: all .4s ease-in-out;
transition: all .4s ease-in-out;
}
.panel.flip .front {
z-index: 900;
border-color: #eee;
background: #333;
box-shadow: 0 15px 50px rgba(0, 0, 0, 0.2);
-webkit-transform: rotateY(180deg);
-moz-transform: rotateY(180deg);
transform: rotateY(180deg);
}
.panel.flip .back {
z-index: 1000;
background: #80868d;
-webkit-transform: rotateX(0deg) rotateY(0deg);
-moz-transform: rotateX(0deg) rotateY(0deg);
...
JavaScript
$(function () {
$('.hover').hover(function () {
$(this).addClass('flip');
}, function () {
$(this).removeClass('flip');
});
});