Library/JS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชจ์Œ

๐Ÿ“š AOS ์Šคํฌ๋กค ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ - Animate On Scroll

์ธํŒŒ_ 2021. 12. 29. 19:56

Animate-On-Scroll-screenshot

AOS (Animate On Scroll)

๊ธฐ๋ณธ์ ์œผ๋กœ ์Šคํฌ๋กค ์›€์ง์ž„์— ๋”ฐ๋ผ ๊ฐœ์ฒด์— ์›€์ง์ž„์„ ์ฃผ๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์˜ ๊ฒฝ์šฐ, AOS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

AOS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊นŠ๊ฒŒ ๋ชฐ๋ผ๋„ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

์‹œ๊ฐ„ ํˆฌ์ž ๋Œ€๋น„ ๊ฐ€์„ฑ๋น„๋Š” ๋ชจ๋“  ์Šคํฌ๋กค ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ์ตœ๊ณ  ๋ผ๊ณ  ํ‰๊ฐ€ ๋ฐ›๋Š”๋‹ค.

 

AOS ์„ค์น˜

 

AOS - Animate on scroll library

AOS Animate On Scroll Library Scroll down

michalsnik.github.io

<head>
    <!-- AOS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ-->
    <link rel="stylesheet" href="https://unpkg.com/aos@2.3.1/dist/aos.css"> 
    <script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script> 
</head>

AOS ์‚ฌ์šฉ๋ฐฉ๋ฒ•

<html>
    <head>
        <!-- AOS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ-->
        <link rel="stylesheet" href="https://unpkg.com/aos@2.3.1/dist/aos.css"> 
        <script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script> 
    </head>
    
    <body>
        <!-- data-aos-* ์†์„ฑ์„ ํƒœ๊ทธ์—๋‹ค๊ฐ€ ์จ์ฃผ๋ฉด ์•Œ์•„์„œ ๋™์ž‘๋˜๊ฒŒ ๋œ๋‹ค -->
        <div data-aos="zoom-out-right"> <!-- ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์คŒ์•„์›ƒ ํ•˜๋Š” ๋ชจ์…˜ ์„ค์ • -->
            <!-- ๋‚ด์šฉ ... -->
        </div>
        
        <!-- ๋‹ค์–‘ํ•œ ์†์„ฑ๋“ค์ด ์กด์žฌํ•œ๋‹ค. (์„ค๋ช…์€ ํ›„์ˆ ) -->
        <div data-aos="fade-up" 
        	 data-aos-offset="200" 
             data-aos-easing="ease-out-cubic"
             data-aos-duration="2000" 
             >
            <!-- ๋‚ด์šฉ ... -->
        </div>
        
        <!-- AOS ์Šคํฌ๋ฆฝํŠธ ์‹œ์ž‘ -->
        <script> 
            AOS.init(); // ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ init()์„ ํ•ด์•ผ ๋™์ž‘ํ•œ๋‹ค.
        </script>
    </body>
</html>

See the Pen aos-sample by barzz12 (@inpaSkyrim) on CodePen.

 

data-aos ์˜ต์…˜ ์†์„ฑ

<div
    data-aos="fade-up"
    data-aos-offset="200"
    data-aos-delay="50"
    data-aos-duration="1000"
    data-aos-easing="ease-in-out"
    data-aos-mirror="true"
    data-aos-once="false"
    data-aos-anchor-placement="top-center"
>
</div>
์˜ต์…˜ ์„ค๋ช…
data-aos ์‚ฌ์šฉํ•  ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๋ช…
data-aos-easing ์• ๋‹ˆ๋ฉ”์ด์…˜ ์‹œ๊ฐ„ํ๋ฆ„์— ๋”ฐ๋ฅธ ์†๋„์„ค์ • ์˜ต์…˜(default: ease)
data-aos-anchor ํŠน์ •ํ•œ ๊ฐ์ฒด์— anchor๋ฅผ ์„ค์ •ํ•˜์—ฌ,
์–ด๋–ค ๊ฐ์ฒด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์‹œ์ž‘ ๋ ์ง€๋ฅผ ์„ค์ •
data-aos-delay ์• ๋‹ˆ๋ฉ”์ด์…˜ ์žฌ์ƒ ๋Œ€๊ธฐ์‹œ๊ฐ„ ์„ค์ •(default: 0)
data-aos-offset ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๊ฐ€ ์‹œ์ž‘๋  ๊ฐ์ฒด์˜ ์œ„์น˜ ์„ค์ •
data-aos-duration ์• ๋‹ˆ๋ฉ”์ด์…˜์˜ ์žฌ์ƒ์‹œ๊ฐ„ ์„ค์ •(default: 400)
data-aos-anchor-placement ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์–ด๋А ์œ„์น˜์—์„œ๋ถ€ํ„ฐ ์ ์šฉ๋ ์ง€ ์„ค์ •(default: top-bottom)
data-aos-once ์Šคํฌ๋กค ํ• ๋•Œ๋งˆ๋‹ค ์• ๋‹ˆ๋งค์ด์…˜์ด ์žฌ์ƒ๋ ์ง€๋ฅผ ์„ค์ • (default: true)
์ด ๊ฐ’์„ false๋กœ ํ•˜๊ฒŒ๋˜๋ฉด, ์Šคํฌ๋กค์„ ์œ„๋กœ ์˜ฌ๋ ท๋‹ค ๋‹ค์‹œ ๋‚ด๋ฆด๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๋‹ค์‹œ ์žฌ์ƒ๋˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค.
โ€ป delay์™€ duration์€ 0๋ถ€ํ„ฐ 3000๊นŒ์ง€ ์ตœ๋Œ€๊ฐ’์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๊ณ , 50 ๋‹จ์œ„๋กœ ์„ค์ • ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

data-aos : ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ ์ข…๋ฅ˜

  • Fade animations:
    • fade
    • fade-up
    • fade-down
    • fade-left
    • fade-right
    • fade-up-right
    • fade-up-left
    • fade-down-right
    • fade-down-left
  • Flip animations:
    • flip-up
    • flip-down
    • flip-left
    • flip-right
  • Slide animations:
    • slide-up
    • slide-down
    • slide-left
    • slide-right
  • Zoom animations:
    • zoom-in
    • zoom-in-up
    • zoom-in-down
    • zoom-in-left
    • zoom-in-right
    • zoom-out
    • zoom-out-up
    • zoom-out-down
    • zoom-out-left
    • zoom-out-right

 

data-aos-anchor-placement : ์• ๋‹ˆ๋ฉ”์ด์…˜ ์‹œ์ž‘ ์œ„์น˜ ์†์„ฑ ์ข…๋ฅ˜

  • top-bottom
  • top-center
  • top-top
  • center-bottom
  • center-center
  • center-top
  • bottom-bottom
  • bottom-center
  • bottom-top

 

data-aos-easing : ์• ๋‹ˆ๋ฉ”์ด์…˜ ์žฌ์ƒ ์†๋„ ์ข…๋ฅ˜

data-aos-easing

๊ทธ๋ž˜ํ”„์—์„œ ๋ณผ์ˆ˜ ์žˆ๋“ฏ์ด, ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์žฌ์ƒํ•˜๋Š”๋ฐ ๋งค๋„๋Ÿฝ๊ฒŒ ์žฌ์ƒํ•˜๊ฑฐ๋‚˜ ์•„๋‹ˆ๋ฉด ์•ฝ๊ฐ„ break๋ฅผ ๊ฑธ์–ด์„œ ๋ญ”๊ฐ€ ์žฌ์ƒํ•˜๋Š” ๋А๋‚Œ ๋“ฑ์„ ์„ค์ •ํ•˜๋Š” ์†์„ฑ์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

์ง์ ‘ ํ•˜๋‚˜ํ•˜๋‚˜ ์ ์šฉํ•ด๋ด์„œ ์ฐจ์ด๋ฅผ ๋ˆˆ์œผ๋กœ ๋А๊ปด๋ณด๊ธฐ๋ฅผ ๊ถŒ์žฅํ•œ๋‹ค.

  • linear
  • ease
  • ease-in
  • ease-out
  • ease-in-out
  • ease-in-back
  • ease-out-back
  • ease-in-out-back
  • ease-in-sine
  • ease-out-sine
  • ease-in-out-sine
  • ease-in-quad
  • ease-out-quad
  • ease-in-out-quad
  • ease-in-cubic
  • ease-out-cubic
  • ease-in-out-cubic
  • ease-in-quart
  • ease-out-quart
  • ease-in-out-quart