스크롤 안 되게 하는 방법이 있을까요?
본문
https://demo.sir.kr/gnuboard5/?device=mobile
그누보드 모바일 데모버전인데
왼쪽 메뉴바의 스크롤바가 1번과 같이 맨 아래로 내려갔는데
그 이후에 스크롤을 또 하면 2번 body 페이지의 스크롤이 움직이기 시작합니다.
마우스 커서는 그대로 메뉴바에 있는 상태고요.
body 페이지에 마우스 커서가 있을 때만 body 페이지의 스크롤이 움직였으면 좋겠어서요.
마우스커서가 메뉴바에 있고 1번 스크롤이 다 내려간 후에 2번 스크롤은 안 내려가게 하는 방법이 없을까요?
핸드폰으로 봐도 마찬가지로
메뉴바의 스크롤이 다 끝난 상태에서 또 스크롤을 하면 body 부분이 스크롤이 되네요 ㅜㅜ'
메뉴바 스크롤을 할 때는 body 부분 스크롤이 안 되게 하고 싶은데 도와주세요 ㅜ
답변 2
<style>
#gnb {
overscroll-behavior: contain;
}
</style>
아래 코드를 찾아 다음과 같이 수정 해주세요
$(".hd_opener").on("click", function() {
var $this = $(this);
var $hd_layer = $this.next(".hd_div");
if($hd_layer.is(":visible")) {
$hd_layer.hide();
$this.find("span").text("열기");
} else {
var $hd_layer2 = $(".hd_div:visible");
$hd_layer2.prev(".hd_opener").find("span").text("열기");
$hd_layer2.hide();
$hd_layer.show();
$this.find("span").text("닫기");
}
});
아래처럼 변경해주시면 됩니다.
$(".hd_opener").on("click", function() {
var $this = $(this);
var $hd_layer = $this.next(".hd_div");
if($hd_layer.is(":visible")) {
$hd_layer.hide();
$("html,body").css("overflow", "visible");
$this.find("span").text("열기");
} else {
var $hd_layer2 = $(".hd_div:visible");
$hd_layer2.prev(".hd_opener").find("span").text("열기");
$hd_layer2.hide();
$hd_layer.show();
$("html,body").css("overflow", "hidden");
$this.find("span").text("닫기");
}
});
!-->!-->
답변을 작성하시기 전에 로그인 해주세요.