스크롤 방향을 감지해서 헤더를 보여주거나 감추거나 해보자.
// wheel 이벤트는 마우스휠 이벤트라서 pc만 가능
window.addEventListener('wheel', e => {
const scrollUp = e.deltaY <= 0;
if ( window.scrollY > 100 && scrollUp) {
$('body').addClass('scrollUp');
} else {
$('body').removeClass('scrollUp');
}
});
body.scrollUp #header {
transform: translateY(-100%);
}
// 스크롤 방향에 따라 헤더 노출 (pc, 모바일 둘 다 가능)
let lastScrollY = 0;
window.addEventListener('scroll', e => {
const scrollY = window.scrollY;
const scrollUp = scrollY < lastScrollY;
if ( scrollY > 100 && scrollUp) {
$('body').addClass('scrollUp');
} else {
$('body').removeClass('scrollUp');
}
lastScrollY = scrollY;
});
body.scrollUp #header {
transform: translateY(-100%);
}
// 스크롤 방향에 따라 헤더 노출 (wheel 이벤트는 마우스휠 이벤트라서 pc만 가능)
window.addEventListener('wheel', e => {
const scrollDown = e.deltaY > 0;
if (scrollDown) {
$('body').addClass('scrollDown');
} else {
$('body').removeClass('scrollDown');
}
});
body.scrollDown #header {
transform: translateY(-100%);
}
let lastScrollY = 0;
window.addEventListener('scroll', e => {
const scrollY = window.scrollY;
const scrollDown = scrollY > lastScrollY;
if (scrollDown) {
$('body').addClass('scrollDown');
} else {
$('body').removeClass('scrollDown');
}
lastScrollY = scrollY;
});
body.scrollDown #header .header_box {
transform: translateY(-100%);
}