[javascript] ScrollMagic을 사용하여 요소의 스크롤 위치에 도달하면 CSS 애니메이션 시작하기

많은 웹 사이트에서는 사용자가 스크롤을 하면 특정 요소에 애니메이션을 적용하여 시각적인 효과를 줍니다. 이는 사용자 경험을 향상시키기 위해 자주 사용되는 기능 중 하나입니다.

ScrollMagic은 자바스크립트 라이브러리로, 웹 페이지에서 스크롤 이벤트를 감지하고 이벤트에 따라 요소에 CSS 애니메이션을 적용하는 기능을 제공합니다. ScrollMagic을 사용하면 스크롤 위치에 따라 요소가 나타나거나 사라지는 등 다양한 애니메이션 효과를 부여할 수 있습니다.

ScrollMagic 설치하기

먼저, ScrollMagic을 설치해야 합니다. 자바스크립트 프로젝트에 다음과 같이 ScrollMagic을 설치할 수 있습니다:

npm install scrollmagic

ScrollMagic 사용하기

  1. ScrollMagic을 프로젝트에 불러옵니다:
import ScrollMagic from 'scrollmagic';
  1. 애니메이션을 적용할 요소를 선택합니다:
const element = document.querySelector('.animated-element');
  1. ScrollMagic 컨트롤러를 생성합니다:
const controller = new ScrollMagic.Controller();
  1. 새로운 ScrollMagic 씬을 생성하고 요소에 애니메이션을 적용합니다:
new ScrollMagic.Scene({
  triggerElement: element, // 애니메이션을 시작할 요소
  triggerHook: 0.8, // 스크롤 위치의 비율 (0부터 1까지)
  reverse: false, // 스크롤을 올리면 애니메이션을 다시 실행할지 여부
})
  .setClassToggle(element, 'animated-class') // 요소에 토글할 클래스
  .addTo(controller); // 컨트롤러에 씬 추가

위 코드는 스크롤 위치가 요소의 80%에 도달하면 animated-elementanimated-class를 토글하는 애니메이션을 생성합니다. 스크롤을 올리면 애니메이션은 다시 실행되지 않습니다.

이제 ScrollMagic을 사용하여 요소의 스크롤 위치에 도달하면 CSS 애니메이션을 시작할 수 있습니다. 사용자가 웹 페이지를 스크롤할 때 요소가 부드럽게 나타나거나 사라질 수 있으며, 이를 통해 웹 사이트의 시각적 효과를 향상시킬 수 있습니다.

더 자세한 내용은 ScrollMagic 공식 문서를 참조하십시오.