The GreenSock Animation Platform (줄여서 GSAP )는 프론트엔드 개발자와 디자이너들이 쉽게 사용할 수 있는 아주 강력한 타임라인기반의 애니메이션 자바스크립트 라이브러리 입니다. 이 GSAP는 애니메이션 시퀀스에 관련해서 CSS의 keyframe과 animation 보다 더 정밀한 컨트롤을 할 수 있어요.
또한 이 라이브러리의 가장 큰 장점은 가볍고 쉬운 사용방법입니다.
GSAP 를 사용하면 Javascript에 대한 지식이 뛰어나지 않아도 애니메이션 제작을 할 수 있어요! 이 가이드에서는 GSAP 의 TweenMax 기능의 설정 및 사용하는 방법에 대해 알아 볼 것입니다.
설치하기
- CDN
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.10.4/gsap.min.js"></script>
- NPM
npm install gsap
Tweens 란?
GSAP의 기본적인 애니매이션으로 오브젝트에 애니메이션을 주기위해서 call, animate, property, duration, easing, delay 등 많은 파라미터가 필요하다.
TweenLite 는 우리가 정의한 자바스크립트 명령어를 통해 GSAP를 사용하여 애니메이션을 만든다는것을 알 수 있다.
.to 메서드는 CSS로 정의한 오브젝트의 상태를 JS에서 정의한 상태로 애니메이션 시켜주는 메서드이다.
반대로는 .from라는 메서드를 이용한다.
TweenLite.to("#myDiv", 2, {
left: 100,
top: 75,
backgroundColor:"#000",
ease: Power4.easeIn
});
Timeline Animations을 이용한 다수 애니메이션
TimelineLite는 하나의 오브젝트를 애니메이션 하는것으로 제한되지 않습니다. 서로 다른 기능에 해당하는 ID를 추가하여 타임라인에서 여러개체를 애니메이션 할 수 있습니다.
#myDiv {
position: absolute;
left: 0;
top: 0;
width: 200px;
height: 200px;
background: red;
}
#myCircle {
position: absolute;
left: 50px;
top: 350px;
width: 150px;
height: 150px;
background: red;
border-radius: 100%;
}
var tl = new TimelineLite;
tl.to("#myDiv", 2, {
x:100,
y:75,
backgroundColor:"#000",
ease: Power4.easeIn
})
.to ("#myDiv", 1 , {
scaleX: 1.5,
scaleY: 1.5,
backgroundColor: "#454545",
ease: Back.easeOut.config(1.7)
})
.from("#myCircle", 1, {
opacity: 0,
});
const tl = gsap.timeline({
scrollTrigger: {
trigger: ".trigger",
start: "center bottom",
end: "center top",
scrub: true,
markers: true
}
});
tl.to(".box", {yPercent: 350, duration: 1})
tl.to(".box", {rotation: 360, duration: 3})
tl.to(".box", {xPercent: 350, duration: 1})
https://greensock.com/gsap/
GSAP
Timeline Tip: Understanding the Position Parameter The secret to building gorgeous sequences with precise timing is understanding the super-flexible "position" parameter which controls the placement of your tweens, labels, callbacks, pauses, and even neste
greensock.com
https://greensock.com/docs/v3/Plugins/ScrollTrigger
Docs
Documentation for GreenSock Animation Platform (GSAP)
greensock.com
https://codepen.io/GreenSock/pen/abOPrBj
Basic Tween - ScrollTrigger
Remake of ScrollMagic's tutorial demo from https://github.com/janpaepke/ScrollMagic/wiki/Tutorial-:-Basic-Tween...
codepen.io
https://codepen.io/DavidMonnuar/pen/VwKEvQM