<div class="l-wrapper">
  <p class="c-text">スクロールしてください。</p>
  <div class="l-section js-scrollAnimation">
  </div>

  <div class="l-section is-bgColor--red js-scrollAnimation">
  </div>

  <div class="l-section is-bgColor--blue js-scrollAnimation">
  </div>

  <div class="l-section is-bgColor--green js-scrollAnimation">
  </div>
</div>

.l-wrapper {
  max-width: 700px;
  width: 100%;
  padding-top: 50px;
  margin: 0 auto;
}

.c-text {
  text-align: center;
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 200px;
}

.l-section {
  height: 600px;
  background: #ccc;
  margin-bottom: 30px;
  opacity: 0;
  transform: translate3d(0, 100px, 0);
  transition: opacity 1.5s, transform 1.5s;
  &.is-bgColor--red {
    background: #E4357B;
  }
  &.is-bgColor--blue {
    background: #149072;
  }
  &.is-bgColor--green {
    background: #357be4;
  }
  //アニメーション用スタイル
  &.is-animated {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
var $target = $('.js-scrollAnimation');
var offset = 100;

$(window).on('scroll', function() {

  var scroll = $(window).scrollTop();
  var h = $(window).height();

  $target.each(function() {
    var pos = $(this).offset().top;
    if (scroll > pos - h + offset) {
      $(this).addClass('is-animated');
    }
  })

}).trigger('scroll');

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://code.jquery.com/jquery-3.3.1.js