패스트캠퍼스 강의를 정리한 내용으로, 개인공부 후 기록하기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.
DAY 5 : 스크롤 위치 계산 애니메이션
스크롤 위치 계산 애니메이션
* view
스크롤을 내릴때마다 각 section에 위치한 이미지들이 순차적으로 나오는 듯한 효과를 만든다. 스크롤의 위치를 계산없이 쉽게 제어하는 게 핵심이다.
* html code
scroll 됐을 때 나타나게 하고 싶은 해당 section 에 class 속성으로 'scroll-spy' 를 추가한다.
그리고 나타나게 할 이미지에 공통적으로 class 속성 'back-to-position'를 추가하고, 오른쪽으로 나타나는건 'to-right' , 왼쪽으로 나타나는건 'to-left'를 추가한다.
* js code
// Scroll Magic
const spyEls = document.querySelectorAll('section.scroll-spy');
spyEls.forEach(function(spyEl) {
new ScrollMagic
.Scene({
triggerElement: spyEl,
// 보여짐 여부를 감시할 요소를 지정
triggerHokk: .8,
// 감시하고 있는 요소가 판단되는 위치 (걸렸다고 판단이 되면 아래 메소드 실행)
})
.setClassToggle(spyEl, 'show')
.addTo(new ScrollMagic.Controller());
// 실제로 동작할 수 있도록 만들어 주는 요소
});
ScrollMagic 라이브러리
: 사용자의 현재 스크롤 위치에 쉽게 반응할 수 있도록 해주는 자바스크립트 라이브러리
구현한 ScrollMagic
: 스크롤의 위치가 section의 위에서 80% 되는 부분을 지나면 class 속성으로 'show'를 추가해준다.