scroll 위치에 맞춰서 애니메이션을 실행시키고 싶은 경우 사용합니다.공식 사이트 혹은 CDN 혹은 npm 등 편한 방법으로 ScrollTrigger.js나 ScrollTrigger.min.js 를 다운로드 합니다.
https://greensock.com/docs/v3/Installation
https://cdnjs.com/libraries/gsap
cdn
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.6.0/gsap.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.6.0/ScrollTrigger.min.js"></script>
- 이번에는 이미지를 준비해봤다.
gsap.registerPlugin(ScrollTrigger); gsap.to(".box2", { // 대상 요소 scrollTrigger: ".box2", x: 600, duration: 3 }) // 속성
- 이제 해당 요소가 화면에 보이는 지점에서 애니메이션 효과가 시작된다.
toggleActions은 스크롤 트리거의 이벤트 행동을 정의한다.gsap.registerPlugin(ScrollTrigger); gsap.to(".box2", { // 대상 요소 scrollTrigger: { trigger: ".box2", toggleActions: "play none none restart" // toggleActions: onEnter onLeave onEnterBack onLeaveBack }, x: 400, duration: 2, }) // 속성
toggleActions은onEnter,onLeave,onEnterBack,onLeaveBack네 가지로 구성된다.- 스크롤과 요소의 위치에 따라서 네 가지 액션이 실행되는 것이다.
onEnter:scroll-start~scroll-end사이onLeave:scroll-end부분을 넘어갈 때onEnterBack:scroll-start~scroll-end사이로 다시 들어갈 때onLeaveBack:scroll-end부분을 다시 넘어갈 때play(시작) |restart(재시작) |reverse(반전) |pause(멈춤)resume(트리거 이벤트를 이어함) |reset(초기화) |complete(이벤트 종료후)
- 이제 스크롤을 움직여보면 이미지가 재시작되는 것을 볼 수 있습니다.