<h2>Scroll down</h2>

<div class="box played"></div>

<div class="box scrubbed"></div>

<div class="box played"></div>
@import url('https://fonts.googleapis.com/css?family=Signika+Negative:300,400&display=swap');

body { 
  font-family: "Signika Negative", sans-serif; 
  font-weight: 300;
  margin: 0;
  padding: 0 20px;
}

h2, .box {
  margin-bottom: 100vh;
}
h2 {
  text-align: center;
}

.box {
  background-color: green;
  width: 100px;
  height: 100px;
}
// Create all the ScrollTriggers that are BEFORE the pinned sections
const played = gsap.utils.toArray('.played');
gsap.to(played[0], { 
  x: 300,
  scrollTrigger: {
    trigger: played[0],
    toggleActions: "play none none reset"
  }
});

// The pinned sections
const scrubbed = gsap.utils.toArray('.scrubbed');
scrubbed.forEach(box => {
  gsap.to(box, { 
    x: 300,
    scrollTrigger: {
      trigger: box,
      scrub: true,
      pin: true,
    }
  });
});

// Create all the ScrollTriggers that are AFTER the pinned sections
gsap.to(played[1], { 
  x: 300,
  scrollTrigger: {
    trigger: played[1],
    toggleActions: "play none none reset"
  }
});

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/gsap/3.5.1/gsap.min.js
  2. https://cdnjs.cloudflare.com/ajax/libs/gsap/3.5.1/CSSRulePlugin.min.js
  3. https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/CustomBounce3.min.js
  4. https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/CustomEase3.min.js
  5. https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/CustomWiggle3.min.js
  6. https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/DrawSVGPlugin3.min.js
  7. https://cdnjs.cloudflare.com/ajax/libs/gsap/3.5.1/Draggable.min.js
  8. https://cdnjs.cloudflare.com/ajax/libs/gsap/3.5.1/EaselPlugin.min.js
  9. https://cdnjs.cloudflare.com/ajax/libs/gsap/3.5.1/EasePack.min.js
  10. https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/GSDevTools3.min.js
  11. https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/InertiaPlugin.min.js
  12. https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/MorphSVGPlugin3.min.js
  13. https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/MotionPathHelper.min.js
  14. https://cdnjs.cloudflare.com/ajax/libs/gsap/3.5.1/MotionPathPlugin.min.js
  15. https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/Physics2DPlugin3.min.js
  16. https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/PhysicsPropsPlugin3.min.js
  17. https://cdnjs.cloudflare.com/ajax/libs/gsap/3.5.1/PixiPlugin.min.js
  18. https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/ScrambleTextPlugin3.min.js
  19. https://cdnjs.cloudflare.com/ajax/libs/gsap/3.5.1/ScrollToPlugin.min.js
  20. https://cdnjs.cloudflare.com/ajax/libs/gsap/3.5.1/ScrollTrigger.min.js
  21. https://s3-us-west-2.amazonaws.com/s.cdpn.io/16327/SplitText3.min.js
  22. https://cdnjs.cloudflare.com/ajax/libs/gsap/3.5.1/TextPlugin.min.js