728x90

1. ScrollMagic 라이브러리

2. CSS에서 선택자 스타일

- opacity, transform, translateX, transition-delay

3. HTML에 수동으로 클래스 추가

 

 

 


🚨 ScrollMagic 라이브러리 📌📌📌

 

ScrollMagic - Libraries - cdnjs - The #1 free and open source CDN built to make life easier for developers

The javascript library for magical scroll interactions. - Simple. Fast. Reliable. Content delivery at its finest. cdnjs is a free and open-source CDN service trusted by over 12.5% of all websites, serving over 200 billion requests each month, powered by Cl

cdnjs.com

 

📍 상수 spyEls <- section태그이면서 클래스명 scroll-spy를 갖는 모든 선택자

 

📍 forEach()메소드에서 메소드 체이닝으로 함수 불러오기

 ㄴ new라는 키워드를 이용하여 ScrollMagic 라이브러리를 실행 (생성자 함수)

 ㄴ Scene() : 감시하는 메소드 (첫문자 대문자)

 ㄴ setClassToggle() : 클래스 속성 지정, 제어하는 메소드

 ㄴ addTo() : 컨트롤하는 메소드

spyEls.forEach(function (spyEl) {
	new ScrollMagic.Scene().setClassToggle().addTo(); //메소드 체이닝으로 함수 불러오기
});
// ScrollMagic

const spyEls = document.querySelectorAll('section.scroll-spy');
spyEls.forEach(function (spyEl) {
   new ScrollMagic //메소드 체이닝으로 함수 불러오기
    .Scene({
      triggerElement: spyEl, // 보여짐의 여부를 감시할 요소
      triggerHook: .8 // 뷰포트 높이의 0~1사이 
    })
    .setClassToggle(spyEl, 'show') // 클래스명 show생성
    .addTo(new ScrollMagic.Controller()); 
});

 

📍  CSS

opacity, transform, translateX, transition-delay

html에서 필요한 부분에 해당 class를 수동으로 추가

.back-to-position {  opacity: 0;  transition: 1s;}

.back-to-position.to-right {  transform: translateX(-150px);}
.back-to-position.to-left {  transform: translateX(150px);}

.show .back-to-position {  opacity:1;  transform: translateX(0);}

.show .back-to-position.delay-0 {  transition-delay: 0s;}
.show .back-to-position.delay-1 {  transition-delay: .3s;}
.show .back-to-position.delay-2 {  transition-delay: .6s;}
.show .back-to-position.delay-3 {  transition-delay: .9s;}

 

728x90
+ Recent posts