본 문서에서는 ScrollMagic 라이브러리를 사용하여 웹 페이지를 가로로 스크롤하는 방법을 알아보겠습니다.
ScrollMagic 소개
ScrollMagic은 jQuery 플러그인이며, 페이지 스크롤과 관련된 다양한 이벤트를 감지하고 처리하는 기능을 제공합니다. 이를 사용하여 페이지의 다양한 부분을 매력적으로 만들 수 있습니다. 이 중에서도 가로 스크롤은 사용자들에게 독특한 경험을 제공할 수 있는 기능입니다.
ScrollMagic 설치
ScrollMagic은 CDN이나 패키지 매니저를 통해 설치할 수 있습니다. 여기서는 CDN을 사용하여 설치하는 방법을 알아보겠습니다.
<script src="https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.8/ScrollMagic.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.8/plugins/debug.addIndicators.min.js"></script>
위 코드를 HTML 문서의 head
태그에 추가하면 ScrollMagic 라이브러리와 Debug AddIndicators 플러그인을 사용할 준비가 됩니다.
가로 스크롤 구현하기
아래 예제에서는 ScrollMagic을 사용하여 페이지의 다양한 섹션을 가로로 스크롤하는 기능을 구현해 보겠습니다.
<div class="container">
<section class="section" id="section1">
<h2>Section 1</h2>
</section>
<section class="section" id="section2">
<h2>Section 2</h2>
</section>
<section class="section" id="section3">
<h2>Section 3</h2>
</section>
</div>
.container {
width: 100%;
height: 100vh;
overflow-x: scroll;
scroll-snap-type: x mandatory;
}
.section {
width: 100%;
height: 100%;
}
// ScrollMagic Controller 생성
var controller = new ScrollMagic.Controller();
// 각 섹션을 가로로 스크롤하기 위한 Tween 생성
var section1Tween = new TimelineMax().to("#section1", 1, { x: "-100%" });
var section2Tween = new TimelineMax().to("#section2", 1, { x: "-100%" });
var section3Tween = new TimelineMax().to("#section3", 1, { x: "-100%" });
// ScrollMagic Scene 생성
new ScrollMagic.Scene({
triggerElement: ".container",
duration: "300%", // 스크롤하는 거리 설정
triggerHook: 0,
})
.setPin(".container")
.setTween(new TimelineMax().add([section1Tween, section2Tween, section3Tween]))
.addTo(controller);
위 코드는 div.container
를 가로로 스크롤 가능하도록 설정하고, 각 섹션을 가로로 이동하는 sectionTween
을 생성하여 ScrollMagic Scene에 추가한 예제입니다. 이 예제는 세 가지 섹션으로 구성되어 있으며, 스크롤 시 각 섹션이 왼쪽으로 이동합니다.
마치며
ScrollMagic을 사용하여 페이지의 가로 스크롤을 구현하는 방법에 대해 알아보았습니다. ScrollMagic은 다양한 이벤트와 기능을 제공하기 때문에 페이지의 매력을 높일 수 있습니다. 추가로 필요한 기능은 ScrollMagic의 공식 문서를 참고하시기 바랍니다.
참고 문서: