티스토리 뷰

자바스크립트를 통해서 브라우저를 확대 축소하는 방법을 정리해 보려고 한다. 

<body> 태그의 style  속성 중 하나인 zoom을 활용하면 쉽게 구현할 수 있다. 


브라우저 확대 축소 자바스크립트 구현

20%씩 확대하고 축소하는 자바스크립트 구문은 다음과 같다. 

  1. <script>  
  2. var scale = 1;  
  3.   
  4. function zoomIn() {  
  5.     scale *= 1.2;  
  6.     zoom();  
  7. }  
  8.   
  9. function zoomOut() {  
  10.     scale /= 1.2;  
  11.     zoom();  
  12. }  
  13.   
  14. function zoom() {  
  15.     document.body.style.zoom = scale;  
  16. }  
  17. </script>  


scale 값을 기본값인 1로 설정하고, 확대의 경우 20%를 곱하고 축소는 20%로 나누어서 계산하도록 했다. 

그리고 document.body.style.zoom 값을 변경해서 확대 축소를 구현할 수 있다. 



다양한 브라우저 지원

그러나 위 예제는 인터넷 익스플로러, 구글 크롬, 사파리에서만 동작한다. 

파이어폭스나 오페라 등을 지원하기 위해서는 CSS3의 Transform을 활용해야 한다. 

이 부분까지 적용한 전체 소스는 다음과 같다. 

  1. <!DOCTYPE html>  
  2.   
  3. <head>  
  4.     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  5.     <meta http-equiv="X-UA-Compatible" content="IE=edge">  
  6.     <meta name="viewport" content="width=device-width, initial-scale=1">  
  7.       
  8.     <title>브라우저 확대 축소</title>  
  9.       
  10.     <script>  
  11.     var scale = 1;  
  12.       
  13.     function zoomIn() {  
  14.         scale *= 1.2;  
  15.         zoom();  
  16.     }  
  17.       
  18.     function zoomOut() {  
  19.         scale /= 1.2;  
  20.         zoom();  
  21.     }  
  22.       
  23.     function zoom() {  
  24.         document.body.style.zoom = scale;  
  25.           
  26.         document.body.style.webkitTransform = 'scale('+scale+')';  // Webkit  
  27.         document.body.style.webkitTransformOrigin = '0 0';  
  28.         document.body.style.MozTransform = 'scale('+scale+')';  // Mozilla(firefox)  
  29.         document.body.style.MozTransformOrigin = '0 0';  
  30.         document.body.style.OTransform = 'scale('+scale+')';  // Opera  
  31.         document.body.style.OTransformOrigin = '0 0';         
  32.     }  
  33.     </script>  
  34.   
  35. </head>  
  36.   
  37.         <h1>미니의 확대/축소 테스트</h1>  
  38.         <p> 확대 버튼과 축소 버튼을 클릭해서 확인해보세요!!</p>  
  39.         <p><a href="javascript:zoomIn()">확대하기</a> <a href="javascript:zoomOut()">축소하기</a></p>  


실제로 적용한 화면은 http://www.word.pe.kr/zoom/zoom.html 에서 확인할 수 있다. 




댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/04   »
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
글 보관함