티스토리 뷰
https://garenchoi.github.io/webs_class/javascript/effect/parallaxEffect05.html
function scroll(){ //함수 scroll 실행
let scrollTop = window.screenY || window.pageYOffset || document.documentElement.scrollTop;
//변수 scrollTop에 브라우저의 pageYOffset값 또는 html의 scrollTop값 또는 브라우저의 screenY값 저장
document.querySelector(".scrollTop span").innerText = Math.round(scrollTop); //클래스 scrollTop의 span태그에 Math.round(scrollTop)값 출력
document.querySelectorAll(".content__item").forEach((item,i) => { //클래스 content__item들을 선택해 element값을 item에 index값을 i에 저장
let offset1 = (scrollTop - item.offsetTop) * 0.1; //변수 offset1에 (scrollTop - item.offsetTop) * 0.1 저장
let offset2 = (scrollTop - item.offsetTop) * 0.15; //변수 offset2에 (scrollTop - item.offsetTop) * 0.15 저장
let target1 = item.querySelector(".content__item__img"); //변수 target1에 클래스 item의 content__item__img 저장
let target2 = item.querySelector(".content__item__desc"); //변수 target2에 클래스 item의 content__item__img 저장
gsap.to(target1,{duration: 0.3, y: offset1, ease: "power1.out"}); //gsap로 target1에 0.3초동안 y축으로 offset1값만큼 이동
gsap.to(target2,{duration: 0.3, y: offset2, ease: "power1.out"}); //gsap로 target2에 0.3초동안 y축으로 offset2값만큼 이동
});
requestAnimationFrame(scroll); //requestAnimationFrame으로 scroll 실행
}
scroll(); //함수 scroll 실행
'Script Sample > Parallax Effect' 카테고리의 다른 글
parallaxEffect06 (0) | 2022.03.11 |
---|---|
parallaxEffect04 (0) | 2022.03.11 |
parallaxEffect03 (0) | 2022.03.07 |
parallaxEffect02 (0) | 2022.03.07 |
parallaxEffect01 (0) | 2022.03.02 |
댓글
© 2018 webstoryboy