JSFiddle - React, Tailwind, and code Playground

by Tahir Ahmed

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/gsap/1.18.2/TweenMax.min.js"></script>
<div class="container">
  <ul>
    <li>Test</li>
    <li>Test</li>
  </ul>
</div>
<button type="button">Toggle translation</button>

CSS

.container {
	width: 100%;
  overflow: hidden;
}
ul {
  display: block;
	width: 100%;
  padding: 0;
  margin: 0;
}
li {
  font-family: sans-serif;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  background-color: red;
	display: inline-block;
  padding: 1em 0;
  width: calc(50% - 4px);
}
li:first-child {
	background-color: green;
}

JavaScript

var button = document.getElementsByTagName('button')[0];
var container = document.getElementsByTagName('div')[0];
var timeline = new TimelineMax({ paused: true });
timeline.to('ul', 1, { width: '200%', xPercent: -50, ease: Power2.easeInOut });

button.addEventListener('click', function() {
	timeline.progress() > 0 ? timeline.reverse() : timeline.play();
});