<div class="slider">
  <div class="slider__slide slider__slide--1"></div>
  <div class="slider__slide slider__slide--2"></div>
  <div class="slider__slide slider__slide--3"></div>
  <div class="slider__slide slider__slide--4"></div>
  <div class="slider__slide slider__slide--5"></div>
</div>

<button class="button js-slide-toggle">Next Slide</button>
// Reset
* {
  &,
  &:before,
  &:after {
    box-sizing: border-box;
  }
}


// Slider
$slide-width: 600px;
$slide-height: 400px;
$slide-speed: .3s;
$slide-count: 5;

.slider {
  position: relative;
  width: $slide-width;
  height: $slide-height;
  background-color: #f1f1f1;
  overflow: hidden;
  z-index: 1;
}

.slider__slide {
  position: absolute;
  top: 0;
  left: (100% / 3);
  width: (100% / 3);
  height: 100%;
  background: {
    position: center center;
    repeat: no-repeat;
  }
  transition: all $slide-speed ease-in-out;
  transform: translateY(100%);
  
  &:before,
  &:after {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    content: '';
    transition: all $slide-speed ease-in-out;
    transform: translateY(-200%);
  }
  
  &:before {
    left: -100%;
    background-position: left center;
  }
  
  &:after {
    right: -100%;
    background-position: right center;
  }
  
  &.is-active {
    &,
    &:before,
    &:after {
      transform: translateY(0);
    }
  }
}


// Slides
$slide-url: 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/2719/';
@for $i from 1 through $slide-count {
  .slider__slide--#{$i} {
    &,
  &:before,
    &:after {
      background-image: url(#{$slide-url}vespa-#{$i}.jpg);
    }
  }
}


// Slider Button
.button {
  position: relative;
  top: 0;
  color: #e74c3c;
  line-height: 40px;
  border: 2px solid #e74c3c;
  background: none;
  padding: 0 30px;
  outline: none;
  transition: all .25s ease;
  
  &:hover {
    color: #fff;
    background-color: #e74c3c;
  }
}


// Just for this demo
.slider {
  margin: 10% 0 0 50%;
  transform: translateX(-50%);
}

.button {
  margin: 30px 0 0 50%;
  transform: translateX(-50%);
}
View Compiled
var simpleSlider = function(){

  var currentSlide = 0,
      sliderSlide = $('.slider__slide'),
      slideTotal = sliderSlide.length;

  function cycleSlides() {
    var slide = sliderSlide.eq(currentSlide);
    sliderSlide.removeClass('is-active');
    slide.addClass('is-active');
  }
  
  sliderSlide.first().addClass('is-active');

  $(document).on('click', '.js-slide-toggle', function(){
    currentSlide += 1;
    if (currentSlide > slideTotal - 1) {
      currentSlide = 0;
    }
    cycleSlides();
  });

};

simpleSlider();

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. //cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js