JSFiddle - React, Tailwind, and code Playground

by Travis Harris

HTML

<div id='slides'>
  <img src='https://placehold.it/400x100/ff0000/ffffff?text=Red' />
  <img src='https://placehold.it/400x100/ffff00/000000?text=Yellow' />
  <img src='https://placehold.it/400x100/ff00ff/ffffff?text=Purple' />
  <img src='https://placehold.it/400x100/00ff00/000000?text=Green' />
  <img src='https://placehold.it/400x100/00ffff/ffffff?text=Turqouise' />
  <img src='https://placehold.it/400x100/0000ff/000000?text=Blue' />
</div>

CSS

#slides {
  position: relative;
  height: 100px;
  width: 400px;
  overflow: hidden;
}

#slides img {
  position: absolute;
  height: 100px;
  width: 400px;
  top: 0;
  left: 0;
  -webkit-transition: all 2s ease, z-index 1ms;
  -moz-transition: all 2s ease, z-index 1ms;
  -o-transition: all 2s ease, z-index 1ms;
  transition: all 2s ease, z-index 1ms;
}

.zoom {
  top: -15%;
  left: -15%;
  -ms-transform: scale(1.3);
  -webkit-transform: scale(1.3);
  transform: scale(1.3);
}

.fade {
  opacity: 0;
}

JavaScript

var imgs = Array.prototype.slice.call(document.querySelectorAll('#slides img'));
var img;
for (var i = 0; i < imgs.length; i++) {
  imgs[i].style.zIndex = (imgs.length - i) * 1000;
}
zoom = function() {
  img = imgs.shift();
  img.classList.add("zoom");
  setTimeout('fade()', 2000);
}
fade = function() {
  img.classList.add("fade");
  setTimeout('reload()', 3000);
}
reload = function() {
  imgs.push(img);
  for (var i = 0; i < imgs.length; i++) {
    imgs[i].style.zIndex = (imgs.length - i) * 1000;
  }
  img.classList.remove("zoom");
  img.classList.remove("fade");
  setTimeout('zoom()', 5000);
}
setTimeout('zoom()', 10000);