JSFiddle - React, Tailwind, and code Playground
by akoptsov
HTML
<div id="wrapper" class="left">
<div id="panel">
</div>
</div>
CSS
#wrapper {
width: 360px;
height: 60px;
margin: auto;
border: 1px solid black;
position:relative;
top: 200px;
transition: transform 1s ease-in-out;
}
#wrapper.left {
transform: rotate(-90deg);
}
#wrapper.right {
transform: rotate(90deg);
}
#panel {
position:absolute;
width: 58px;
height: 58px;
transition: left 1s ease-in;
background-color:red;
top: 1px;
}
.left #panel {
left: 1px;
}
.right #panel {
left: 301px;
}
JavaScript
var wrapper = document.getElementById("wrapper");
var ITERATION = 2100;
function left() {
wrapper.className = wrapper.className.replace('right', 'left');
setTimeout(right, ITERATION / 2);
}
function right() {
wrapper.className = wrapper.className.replace('left', 'right');
setTimeout(left, ITERATION / 2);
}
right();