Spring Boot

[JavaScript] 스크롤 막기 함수

어코링 2024. 5. 7. 16:55

팝업창 업무중 팝업창을 띄우고 

팝업창이 위로 올라가면서 뒤에 요소들이 보이게 되어서 

이걸 막기위해 스크롤을 막기위해 JavaScript로 처리하게되었다

 

$(document).ready(function() {
	
	function disableScroll() {
	    scrollPosition = window.scrollY; // 현재 스크롤 위치 저장
	    window.addEventListener('scroll', lockScroll); // 스크롤 이벤트에 lockScroll 함수 연결
	    document.body.addEventListener('touchmove', preventTouchMove, { passive: false }); // 모바일 스크롤 막기
	}

	function enableScroll() {
	    window.removeEventListener('scroll', lockScroll); // 스크롤 이벤트에서 lockScroll 함수 제거
	    document.body.removeEventListener('touchmove', preventTouchMove, { passive: false }); // 모바일 스크롤 허용
	}

	function lockScroll() {
	    window.scrollTo(0, scrollPosition); // 저장된 스크롤 위치로 강제 이동
	}

	function preventTouchMove(e) {
	    e.preventDefault(); // 터치 이동 이벤트 차단
	}
    
    });