일반적으로 웹문서의 크기가 브라우저 크기보다 클 때 스크롤바가 자동으로 나타난다.
그래서 일반적으로 스크롤 이벤트는 브라우저를 대변하는 window객체에 이벤트 핸들러를 등록하는 경우가 많다.
function printEvent(e) {
console.log(e);
}
window.addEventListener('scroll', printEvent);
스크롤 이벤트 활용 예시 scrollY
let lastScrollY = 0;
function printEvent(e) {
const STANDARD = 30;
const nav = document.querySelector('#nav');
const toTop = document.querySelector('#to-top');
if (window.scrollY > STANDARD) { //스크롤이 30PX를 넘었을 때
nav.classList.add('shadow');
toTop.classList.add('show');
} else { //스크롤이 30px를 넘지 않을 때
nav.classList.remove('shadow');
toTop.classList.remove('show');
}
if (window.scrollY > lastScrollY) { //스크롤 방향이 아랫쪽일 때
nav.classList.add('lift-up');
} else { //스크롤 방향이 윗쪽일 때
nav.classList.remove('lift-up');
}
lastScrollY = window.scrollY;
}
728x90
'코딩도 합니다 > JS' 카테고리의 다른 글
[자바스크립트 js] Falsy 값과 Truthy 값 (0) | 2021.05.18 |
---|---|
[자바스크립트 js] MouseEvent.relatedTarget (0) | 2021.05.16 |
[자바스크립트 js / 실무 기록] input값 초기화 (0) | 2021.05.16 |
[자바스크립트 js] input 태그 / input 태그 종류 / 포커스 이벤트 / 입력 이벤트 (0) | 2021.05.16 |
[자바스크립트 js] 키보드 이벤트 / keydown / keypress / keyup (0) | 2021.05.16 |