JSFiddle - React, Tailwind, and code Playground
HTML
<body>
<div class="dummy">
<p>Look, I'm dummy :D</p>
</div>
</body>
CSS
html{
width: 100%;
height: 100%;
color: #000000;
background-color: #FFF;
font-size: 14px;
font-family: sans-serif;
line-height: 1.428;
}
body{
width: 100%;
min-height: 100%;
position: relative;
}
html,body{
margin: 0;
padding: 0;
}
.dummy{
width: 150px;
height: 75px;
margin: 15px auto;
background-color: #1660a0;
text-align: center;
transition: transform 1000ms linear;
}
.dummy.right{
transform: translate(450px,0);
}
JavaScript
function transitionTest(){
console.log('called --- transitionTest() ');
var dummies = document.getElementsByClassName('dummy'),
count = dummies.length;
if(window.cache==='right'){
var transitionCollection=0;
for(var i = 0; i < dummies.length; i++){
dummies[i].classList.remove('right');
dummies[i].addEventListener('transitionend', function(){
transitionCollection++;
if( transitionCollection === dummies.length ){
transitionTest();
}
});
}
window.cache='';
} else {
var transitionCollection=0;
for(var i = 0; i < dummies.length; i++){
dummies[i].classList.add('right');
dummies[i].addEventListener('transitionend', function(){
transitionCollection++;
if( transitionCollection === dummies.length ){
transitionTest();
}
});
}
window.cache='right';
}
}
setTimeout(function(){ transitionTest() },500)
//document.addEventListener("DOMContentLoaded", function(event) {
//setTimeout(function(){ transitionTest() },500)
//document.body.addEventListener('click', function(){transitionTest() });
//});