728x90
페럴럭스 이펙트3
이번 페럴럭스 이펙트는 사이드 메뉴의 버튼을 클릭하면 해당하는 섹션으로 이동하며, 해당하는 섹션의 위치에 도달하면 버튼의 모양이 바뀜니다.
js코드 설명
scrollProgress 함수를 만들어 setInterval 로 과부화를 방지후 스크롤을 위로 올리면 메뉴가 나오게 했습니다.
function scrollProgress() {
nowScroll = true;
setInterval(() => {
if (nowScroll) {
nowScroll = false;
hasScroll();
}
}, 300);
}
function hasScroll() {
let scrollTop = document.documentElement.scrollTop || window.pageYOffset || window.scrollY;
if (scrollTop < lastScroll) {
document.querySelector("#parallax__nav").classList.add("show");
} else {
document.querySelector("#parallax__nav").classList.remove("show");
}
lastScroll = scrollTop;
}
window.addEventListener("scroll", scrollProgress);
body 부분이 끝지점일때 맨위로 올라가는 버튼을 보여주게합니다.
if (scrollTop >= document.body.scrollHeight - window.innerHeight - 10) {
document.querySelector("#parallax__top").classList.add("show");
} else {
document.querySelector("#parallax__top").classList.remove("show");
}
728x90
반응형
'JavaScript > Effect' 카테고리의 다른 글
이펙트 응용편 - 페럴럭스 오번째 (4) | 2022.09.20 |
---|---|
이펙트 응용편 - 페럴럭스 네번째 (1) | 2022.09.19 |
이펙트 응용편 - 슬라이더 이펙트 네번째 (1) | 2022.09.19 |
이펙트 응용편 - 마우스 이펙트 두번째 (1) | 2022.09.19 |
이펙트 응용 편 - 페럴럭스 이펙트 두 번째 (9) | 2022.09.08 |
댓글