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
(이벤트 종료후)
- 이제 스크롤을 움직여보면 이미지가 재시작되는 것을 볼 수 있습니다.