Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- JavaScript
- angular
- 웹뷰
- 감사일기
- cors
- react
- 카카오톡
- NeXT
- S3
- node.js
- 네이티브
- 알려줌
- 도메인
- Android
- node
- fanzeel
- Route53
- AWS
- https
- ios
- Elastic Beanstalk
- hybrid
- php
- nextjs
- 페이스북
- TypeScript
- beanstalk
- swift
- 안드로이드
- angular4
Archives
- Today
- Total
쪼렙 as! 풀스택
javascript, Body 위에 Modal 상태를 만들기. 본문
웹 개발할때, 모달 상태를 만들일이 꽤 있다. 그래서 당연히 라이브러리도 많이 존재한다.
왠만해서는 라이브러리를 가져다 쓰기는 하는데, 어쩌다가 직접 모달상태를 만들어야 할일이 생겼다.
모달상태가 되면, 'position:fixed' 인 창을 맨 위로 올리고, 아래있는 body 부분의 'overflow:hidden' 으로해서 스크롤을 못하게 막아버리면 된다.
이때, 브라우저에 따라 '스크롤바'가 차지하고 있는 영역이 있을 수 있다. 사이즈도 브라우저마다 다를 수 있으므로, 그때그때 스크롤바의 넓이를 구해서, body의 'padding-right'를 설정해준다.
const body = document.getElementsByTagName('body')[0]
const scrollbarWidth = window.innerWidth - body.offsetWidth
console.warn('스크롤바의 넓이', scrollbarWidth)
body.style.overflow = 'hidden'
body.style.paddingRight = scrollbarWidth + 'px';
모달이 끝나면, 반대로 해제해 주면 된다.
const body = document.getElementsByTagName('body')[0]
body.style.overflow = ''
body.style.paddingRight = '';
'개발 일지 > Web & Server' 카테고리의 다른 글
javascript, URL 에서, 쿼리파람 가져오기.. (0) | 2018.11.28 |
---|---|
PHP, USER_AGENT 분석해서 접속자의 Client, Device 정보 알아오기. (0) | 2018.11.28 |
2018.11.01. AWS - BeansTalk 에 Node 서버 배포할때, 알맞는 포트 찾기. (0) | 2018.11.01 |
React - Next.js 에서 공통 레이아웃 _app.js 사용하기. (0) | 2018.10.12 |
javascript, 브라우저가 android, iphone, ios 스마트폰인지 알아오기. (0) | 2018.10.11 |
Comments