๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
JavaScript

[JavaScript] GSAP ์•Œ์•„๋ณด๊ธฐ

by ์ฝ”๋”ฉ๊ณต์ฑ… 2022. 8. 29.
๋ฐ˜์‘ํ˜•

GSAP๋ž€?

GreenSock์—์„œ ๋งŒ๋“  JavaScript ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์ผ๋ฐ˜์ ์œผ๋กœ ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๋Š” CSS ๋˜๋Š” jQuery์˜ .animate() ๋“ฑ์œผ๋กœ ๊ตฌํ˜„ํ•˜์ง€๋งŒ, ๊ธฐ์กด์˜ CSS์™€ jQuery๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ ์–ด๋ ค์šด ๋ณต์žกํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ์ด ๋ฐ”๋กœ GSAP์ž…๋‹ˆ๋‹ค.


GSAP ์ ์šฉ ๋ฐฉ๋ฒ•

GreenSock ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์—์„œ ์„ค์น˜ ํŒŒ์ผ์—์„œ ๋‹ค์šด๋กœ๋“œ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ ๊ท€์ฐฎ์œผ๋‹ˆ ๊ทธ๋ƒฅ ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ ๋ณต๋ถ™ํ•˜์ž.

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

๊ธฐ์กด JS ์ฝ”๋“œ์™€ GSAP ์ฝ”๋“œ๋ฅผ ๋น„๊ตํ•ด๋ณด์ž

์Šฌ๋ผ์ด๋“œ ์ดํŽ™ํŠธ 02 ํฌ์ŠคํŒ…์—์„œ ์‚ฌ์šฉ๋œ JS ์ฝ”๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์™”๋‹ค.

<script>
    const sliderInner = document.querySelector(".slider__inner");
    const slider = document.querySelectorAll(".slider");
    let currentIndex = 0;

    sliderInner.style.transition = "all 0.6s";
    setInterval(() => {
        currentIndex = (currentIndex + 1) % slider.length;

        sliderInner.style.transform = "translateX("+ -800 * currentIndex +"px)";
    }, 2000);
</script>

GSAP ์ฝ”๋“œ๋กœ ๋ฐ”๊ฟ”๋ณด๋„๋ก ํ•˜์ž. JS ์ฝ”๋“œ๋ณด๋‹ค ์ข€ ๋” ๊ฐ„๋žตํ™” ๋œ ๋ชจ์Šต์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
์‚ฌ์šฉ ๋ฌธ๋ฒ•์€ gsap.to(".์š”์†Œ ํด๋ž˜์Šค๊ฐ’", { ์†์„ฑ }); ์ด๋Ÿฌํ•˜๋‹ค.

<script>
    const slider = document.querySelectorAll('.slider');
    
    let currentIndex = 0;
    
    setInterval(() => {
        currentIndex = (currentIndex + 1) % ".slider".length;
        gsap.to(".slider__inner", {
            x : -800 * currentIndex
        });
    }, 2000);
</script>
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€


Reference Book

JavaScript
HTML
CSS
๊ด‘๊ณ  ์ค€๋น„์ค‘์ž…๋‹ˆ๋‹ค.