JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.5/ScrollMagic.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.5/plugins/debug.addIndicators.min.js"></script>
<div class="block">
	<h1>Hello world!</h1>
</div>
<div class="block">
	<h1>Hello world!</h1>
</div>
<div class="block">
	<h1>Hello world!</h1>
</div>
<div class="block">
	<h1>Hello world!</h1>
</div>
<section class="scene section" id="sticky">
  <div class="viewer"></div>
</section>
<div class="block">
	<h1>Hello world!</h1>
</div>
<div class="block">
	<h1>Hello world!</h1>
</div>

CSS

html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}

body {
  width: 100%;
}
.block {
  width: 100%;
  height: 500px;
  background: tomato;
}
.header {
  color: white;
}

.section {
  background: #FFFFFF;
  color: black;
}

.scene {
  height: 100%;
  width: 100%;
  background: #EAEAEA;
}
h1 {
  font-size: 40px;
  color: #fff;
  margin: 0;
}
.center {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}

.viewer {
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  background-image: url(http://mav.klendev.ru/5278/static/km/ComplexFoodtracks/css/base/Baw-01.png);
  background-repeat: no-repeat;
  background-position: 50% 0;
}

.viewer.frame1 {
  background-image: url(http://mav.klendev.ru/5278/static/km/ComplexFoodtracks/css/base/Baw-01.png);
}

.viewer.frame2 {
  background-image: url(http://mav.klendev.ru/5278/static/km/ComplexFoodtracks/css/base/Baw-01.png);
}

.viewer.frame3 {
  background-image: url(http://mav.klendev.ru/5278/static/km/ComplexFoodtracks/css/base/Baw-02.png);
}

.viewer.frame4 {
  background-image: url(http://mav.klendev.ru/5278/static/km/ComplexFoodtracks/css/base/Baw-02.png);
}

.viewer.frame5 {
  background-image: url(http://mav.klendev.ru/5278/static/km/ComplexFoodtracks/css/base/Baw-02.png);
}

.viewer.frame6 {
  background-image: url(http://mav.klendev.ru/5278/static/km/ComplexFoodtracks/css/base/Baw-03.png);
}

.viewer.frame7 {
  background-image: url(http://mav.klendev.ru/5278/static/km/ComplexFoodtracks/css/base/Baw-03.png);
}

.viewer.frame8 {
  background-image: url(http://mav.klendev.ru/5278/static/km/ComplexFoodtracks/css/base/Baw-03.png);
}

.viewer.frame9 {
  background-image:...

JavaScript

var viewer       = document.querySelector('.viewer'),
    frame_count  = 9,
    offset_value = 100;

// init controller
var controller = new ScrollMagic.Controller({
  globalSceneOptions: {
    triggerHook: 0,
    reverse: true
  }
});

// build pinned scene
new ScrollMagic.Scene({
  triggerElement: '#sticky',
  duration: (frame_count * offset_value) + 'px',
  reverse: true
})
.setPin('#sticky')
//.addIndicators()
.addTo(controller);

// build step frame scene
for (var i = 1, l = frame_count; i <= l; i++) {
  new ScrollMagic.Scene({
      triggerElement: '#sticky',
      offset: i * offset_value
    })
    .setClassToggle(viewer, 'frame' + i)
    //.addIndicators()
    .addTo(controller);
}