일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 자바스크립트
- 공모주
- java
- Eclipse
- Stock
- 주식
- JSTL
- 제이쿼리
- jquery
- 오라클
- Oracle
- linux
- 7월 공모주 청약 일정
- 자바
- SQL
- css
- 공모주 청약 일정
- 주식 청약
- 리눅스
- 공모주 청약
- 맥
- IPO
- MYSQL
- html
- 코드이그나이터
- Stock ipo
- php
- 주식 청약 일정
- codeigniter
- JavaScript
- Today
- Total
개발자의 끄적끄적
[javascript/jquery] body overflow:hidden 이 모바일에서 안 먹을때 javascript로 해결방법 [펌] 본문
[javascript/jquery] body overflow:hidden 이 모바일에서 안 먹을때 javascript로 해결방법 [펌]
효벨 2020. 9. 26. 03:00[javascript/jquery] body overflow:hidden 이 모바일에서 안 먹을때 javascript로 해결방법 [펌]
상황: 모바일에서 사이드 네비게이션이 열린 상태에서 스크롤시 body는 스크롤 되지 않게 하고싶다
Solution A: CSS
1 2 3 4 5 6 |
html, body { overflow: hidden; position: relative; height: 100%; } |
PC에선 문제 없이 작동한다. 하지만 iOS 사파리랑 크롬에서는 무용지물.
Solution B: CSS – fix
1 2 3 4 5 |
body { position: fixed; width: 100%; height: 100%; } |
PC, 모바일 모두 되긴 하는데 Side nav를 닫은 후에는 position이 꼬임 -> DOM 클릭해도 이벤트가 활성화 안된다.
Solution C: jQuery
1 2 3 4 |
<body> <div id="side-nav">사이드 네비게이션</div> <div class="contents">여기에 body의 내용 넣는다</div> </body> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
$(function(){ $('#side-nav').on('show.bs.offcanvas', function (e) { $('#sidenav-overlay').addClass('active');
/* Disable scroll */ $('.contents').on('scroll touchmove mousewheel', function(e){ e.preventDefault(); e.stopPropagation(); return false; }); }); $('#sidenav-overlay').click(function() { $('#side-nav').offcanvas('hide'); $('#sidenav-overlay').removeClass('active');
/* Enable scroll */ $('.contents').off('scroll touchmove mousewheel'); }); }); |
jQuery on handler로 스크롤을 막는다.
HTML에서 사이드 네비게이션과 Contents 영역을 분간해두면
사이드 네비게이션 자체에서는 스크롤 가능하게 할 수 있다.
Refer
출처 : milooy.wordpress.com/2017/05/09/body-overflowhidden-not-working/
'개발 > javascript & jquery' 카테고리의 다른 글
[VueJS] Apache Tomcat서버에 배포하기 [펌] (0) | 2020.10.01 |
---|---|
[javascript/jQuery] Roulette Winning Wheel 룰렛 소스코드 모음 [펌] (0) | 2020.09.29 |
[javascript/jquery] 스크롤바 감추기 예제 (0) | 2020.09.26 |
[vue.js] local server IP로 접근하기 [펌] (0) | 2020.09.16 |
[javascript] 두 좌표간 거리계산 함수 (0) | 2020.09.11 |