본문 바로가기

js

[js]gsap 사용법

<script defer src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.6.1/gsap.min.js"></script>

jsap cdn

 

**css케밥 케이스를 파스칼 케이스로 변경

ex) 

font-size > fontSize

background-image > backgroundImage

** px를 제외한 수치를 따옴표 사용 

** 색상의 경우 헥스코드가 아닌 영문도 사용 가능

 

 

1. gsap.to

css 설정값 → script 설정값

ex) 로드 시 .box가 w200h200에서 w100h100으로 .5초동안 변화함

<style>
.box{width: 200px; height: 200px; background-color: yellow;}
</style>
<div class="box"></div>
<script>
gsap.to(".box", {
	scrollTrigger:".box",
	dration: .5, 
    width: 100, 
    height: 100
    }
)
</script>

 

2. gsap.from

script 설정값 → css 설정값

ex) 로드 시 .box가 w200h200에서 w100h100으로 .5초동안 변화함

 

3. gsap.fromTo

css 설정값 무시, script 설정값만 인식

ex) 로드 시 .box가 w0h0에서 w100h200으로 .5초동안 변화함

gsap.fromTo(
    ".box",
    {width: 0, height: 0},
    {dration: .5, width: 100, height: 200}
)

 

4. scrollTrigger

→ 스크롤하는만큼 나타나는 애니메이션

gsap.registerPlugin(ScrollTrigger);
gsap.to(".box",{ 
// 움직일 el
    scrollTrigger : {
        trigger:".box",
        // 기준이 될 el
        scrub : ture,
        // 숫자로 기입도 가능함, 숫자가 커질수록 부드러워짐
    },
    background: "blue"
})

→ 움직일 el가 트리거에 닿으면 gsap시작

 

scrollTrigger 속성

markers : true or false(default)

// 애니메이션 시작과 끝 지점을 표시해줌

start : "center" or "top center" 등 많음

// center는 해당 엘리먼트의 중앙, top center는 뷰페이지의 중앙

// start : "top center" → 움직일 el의 top이 뷰포트 center에 닿으면 시작

// start : "top bottom" → 움직일 el의 top이 뷰포트 bottom에 닿으면 시작

// start : "bottom bottom" → 움직일 el의 bottom이 뷰포트 bottom에 닿으면 시작

 

end : start와 동일

// end : "top center" → 트리거(기준이 될 el)의 top이 뷰포트 center에 닿으면 종료

// end : "top bottom" → 트리거(기준이 될 el)의 top이 뷰포트 bottom에 닿으면 종료

// end : "bottom bottom" → 트리거(기준이 될 el)의 bottom이 뷰포트 bottom에 닿으면 종료

 

 

**scrollMagic

→ 스크롤트리거 scrub과 동일

See the Pen Untitled by sangmok-ye (@sangmok-ye) on CodePen.

'js' 카테고리의 다른 글

[js]스크립트 클래스 관련  (0) 2023.03.13
[js]style 가져오기  (0) 2023.02.27
[js]체크박스 동의 후 submit  (0) 2022.11.18
[js]날짜 라이브러리  (0) 2022.11.15
[js]append 여러개 (자바스크립트)  (0) 2022.11.09

top