📢 어렵고 정석적인 개념 설명보다는 저같은 초보자도 이해하기 쉽게 정리하는 것을 원칙으로 포스팅하고 있습니다. 😄
[JavaScript] 스크롤 제어하기 및 스크롤 숨기는 방법
JavaScript
2022. 4. 7. 18:15
개념
특정 모달창을 띄우거나 유저들이 그냥 지나치면 안 되는 내용의 페이지를 표시하기 위해 개발자는 웹사이트의 스크롤을 제어할 수 있다. Jquery를 이용하여 간단하게 제어하는 방법을 알아보자.
방법
스크롤 제어하기
$(window).on('scroll touchmove mousewheel, function(e){
e.preventDefault();
}'); // 스크롤 제어
document.documentElement.style.overflowY = "hidden"; // 스크롤 숨김
window에 스크롤과 터치, 마우스 휠 동작을 e.preventDefault()를 통하여 제어해주었다. (window 대신 html 혹은 특정 엘리먼트(부모 단위)의 id/class를 입력해줘도 된다.)
e.preventDefault()는 스크롤과 같은 동작 또는 a 태그의 href, input 태그의 submit 등과 같은 브라우저의 기본 이벤트들을 작동하지 못하게 해주는 메서드이다. 스크롤 제어뿐만 아니라 여러 방면으로 유용한 메서드이므로 꼭 기억해두는 게 좋다.
스크롤 숨김은 간단히 document의 style.overflowY를 hidden 처리해주었다.
스크롤 제어 풀기
$(window).off('scroll touchmove mousewheel'); // 스크롤 동작
document.documentElement.style.overflowY = "auto"; // 스크롤 보이기
스크롤을 제어하고 숨겼다면, 반대로 다시 동작하는 코드도 알아야 한다. 다시 동작하는 코드는 매우 간단한데, 그저 on을 off로 바꿔주면 끝이다.
'JavaScript' 카테고리의 다른 글
[JavaScript] 비교하며 알아보는 for~in과 for~of 문법 (0) | 2022.04.20 |
---|---|
[JavaScript] 알아두면 유용한 배열 메서드 (map(), forEach() 등) (0) | 2022.04.14 |
[JavaScript] 스크롤을 내리면 한 섹션씩 내려가는 이벤트 구현하기 (2) | 2022.03.22 |
[JavaScript] ES6 화살표 함수 (Arrow Function) (0) | 2022.03.16 |
[JavaScript] 특정 요소가 화면 끝에 닿으면 이벤트 발생시키기 (0) | 2022.03.07 |