티스토리 뷰
자바스크립트를 통해서 브라우저를 확대 축소하는 방법을 정리해 보려고 한다.
<body> 태그의 style 속성 중 하나인 zoom을 활용하면 쉽게 구현할 수 있다.
브라우저 확대 축소 자바스크립트 구현
20%씩 확대하고 축소하는 자바스크립트 구문은 다음과 같다.
- <script>
- var scale = 1;
- function zoomIn() {
- scale *= 1.2;
- zoom();
- }
- function zoomOut() {
- scale /= 1.2;
- zoom();
- }
- function zoom() {
- document.body.style.zoom = scale;
- }
- </script>
scale 값을 기본값인 1로 설정하고, 확대의 경우 20%를 곱하고 축소는 20%로 나누어서 계산하도록 했다.
그리고 document.body.style.zoom 값을 변경해서 확대 축소를 구현할 수 있다.
다양한 브라우저 지원
그러나 위 예제는 인터넷 익스플로러, 구글 크롬, 사파리에서만 동작한다.
파이어폭스나 오페라 등을 지원하기 위해서는 CSS3의 Transform을 활용해야 한다.
이 부분까지 적용한 전체 소스는 다음과 같다.
- <!DOCTYPE html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <title>브라우저 확대 축소</title>
- <script>
- var scale = 1;
- function zoomIn() {
- scale *= 1.2;
- zoom();
- }
- function zoomOut() {
- scale /= 1.2;
- zoom();
- }
- function zoom() {
- document.body.style.zoom = scale;
- document.body.style.webkitTransform = 'scale('+scale+')'; // Webkit
- document.body.style.webkitTransformOrigin = '0 0';
- document.body.style.MozTransform = 'scale('+scale+')'; // Mozilla(firefox)
- document.body.style.MozTransformOrigin = '0 0';
- document.body.style.OTransform = 'scale('+scale+')'; // Opera
- document.body.style.OTransformOrigin = '0 0';
- }
- </script>
- </head>
- <h1>미니의 확대/축소 테스트</h1>
- <p> 확대 버튼과 축소 버튼을 클릭해서 확인해보세요!!</p>
- <p><a href="javascript:zoomIn()">확대하기</a> <a href="javascript:zoomOut()">축소하기</a></p>
실제로 적용한 화면은 http://www.word.pe.kr/zoom/zoom.html 에서 확인할 수 있다.
'프로그래밍 > Web' 카테고리의 다른 글
Sitemesh에서 메타 태그로 Decorator에 값 전달하기~ (0) | 2015.10.16 |
---|---|
자바스크립트로 카카오톡, 페이스북, 트위터 공유하기 만들기 (0) | 2015.09.30 |
톰캣 로그 한글 깨질때~ (0) | 2015.09.06 |
실시간 커뮤니케이션... WebRTC 기술을 주목하라! (0) | 2015.08.31 |
JSP에서 Gson을 활용해 RecordSet을 JSON으로 변환하기~ (0) | 2015.07.06 |
댓글