JSFiddle - React, Tailwind, and code Playground

HTML

<div class="container">
    <div class="cards">
        <div class="card">
        1
    </div>
    <div class="card">
        2
    </div>
    <div class="card">
        3
    </div>
    </div>
</div>

CSS

.container
{
    width:300px;
        height: 100px;
    border: 2px solid black;
    overflow: hidden;
}
.card
{
    float:left;
    height: 100px;
    width: 100px;
    background-color:blue;
    box-sizing: border-box;
    border: 2px solid red;
    color: white;
    font-size: 23px;
}
.cards
{
    left: 0;
position:relative;
}
/*.cards:hover
{
    transform: translateX(-100px);
    transition-duration: 3s;
    animation-duration: 3s;
    animation-fill-mode: forwards;
}*/

JavaScript

$(document).ready(function() { 
    var translateX = 1000;
    var stepSpeed = 1000;
    $('.cards').click(function(){

        var stepsNumber = translateX/100;
        for(var i=0; i< stepsNumber; i++)
        {
            $('.cards').animate({'left' : -100}, stepSpeed,function(){
                $('.cards div:last').after($('.cards div:first'));
                $('.cards').css({'left' : '0px'}); 
            });
        }
    });
  });