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() });
      
  //});