JS 이미지 확대경 플러그 인 상세 설명 실현

3343 단어 js확대경
앞.  말.
우리 모 두 는 각종 전자상거래 사 이 트 를 자주 돌아 다 니 는데 상품 의 세부 사항 은 확대경 을 사용 해 야 한다.이것 은 모두 가 낯 설 지 않 을 것 이다.오늘 우 리 는 사진 확대경 의 플러그 인 을 만들어 서 사진 이 어떻게 확대 되 는 지 보 자.
일단 저희 가 이 루 면 어떻게 되 는 지.    

효 과 를 보고 아이디어 가 떠 오 르 셨 나 요?없 으 면 어떻게 이 루어 졌 는 지 한번 봅 시다~
1.사고 실현
① 위 에서 확대 하 는 효 과 를 실현 하려 면 세 개의 div 를 해 야 한다.하 나 는 원 도 를 놓 고 다른 하 나 는 확대 효 과 를 넣 는 div 이다.마지막 으로 마 우 스 는 위 에서 확대 하 는 부분의 div(이 div 는 p 태그 로 대체 해 야 한다).
② 확대 비율 을 정 하고 가장 중요 한 것 은 마우스 손가락 에 있 는 div 와 확대 효과 의 div 는 원 그림 과 큰 그림 을 놓 는 비율 이 같다.
③ 마우스 의 위 에 있 는 확대 효 과 를 나타 낸다.
2 구체 적 실현 절차
 우선,우리 먼저 div 세 개 를 만 듭 시다.

<div id="wrapper"> 
     <!--  -->
    <div id="img_min"> 
       <!--  -->
       <img src="img/11.png" alt="min"> 
       <!--       -->
       <p id="mousebg"></p> 
     </div> 
   <!--  -->
     <div id="img_max">
       <img id="img2_img" src="img/11.png" alt="max">
     </div> 
   </div> 
우리 의 HTML 코드 부분 은 이미 전부 완성 되 었 습 니 다.그 다음 에 우 리 는 JS 로 기능 을 실현 합 니 다.
원 그림 에 마우스 진입,마우스 이동,마우스 이동 등 세 가지 이 벤트 를 추가 합 니 다.
마우스 가 원본 그림 에 들 어 갈 때 마우스 가 가리 킬 때의 div 와 확대 효과 의 div 가 동시에 표 시 됩 니 다.

img1.onmouseover = function () { 
       //     
       img2.style.display = 'block'; 
       mousebg.style.display = 'block'; 
      
     }     
마우스 이동 이벤트:

 img1.onmouseout = function () { 
       //     
       img2.style.display = 'none'; 
       mousebg.style.display = 'none'; 
     } 
중요 한 것 은 마우스 가 이동 할 때 p 태그 와 원 그림 의 위치 에 따라 큰 그림 이 확대 되 어야 할 부분 을 표시 하 는 것 이다.

var _event = event||window.event;//      
var mouseX = _event.clientX - img1.offsetLeft; 
 //             
var mouseY = _event.clientY - img1.offsetTop; 
위치 분석 을 할 때 네 가지 임계 상황 을 고려 해 야 한다.
마우스 가 그림 의 위,아래,왼쪽,오른쪽 에서 막 들 어 왔 을 때 마우스 가 가리 키 는 div 너비 의 2 분 의 1 보다 작 을 때 확대 효과 의 div 가 나타 나 움 직 이지 않 는 다.

//      ,           
 if(mouseX<mousebg.offsetWidth/2){ 
  mouseX = mousebg.offsetWidth/2; 
   } 
 if(mouseX>img1.offsetWidth-mousebg.offsetWidth/2){ 
  mouseX = img1.offsetWidth-mousebg.offsetWidth/2; 
   } 
 if(mouseY<mousebg.offsetHeight/2){ 
  mouseY = mousebg.offsetHeight/2; 
 } 
 if(mouseY>img1.offsetHeight-mousebg.offsetHeight/2){ 
  mouseY = img1.offsetHeight-mousebg.offsetHeight/2; 
 } 
마지막 으로 큰 그림 의 표시 범 위 를 계산 합 니 다.

 //          
 img2_img.style.left = -mul*mouseX+img2.offsetWidth/2+"px"; 
 img2_img.style.top = -mul*mouseY+img2.offsetHeight/2+"px"; 
 //          
mousebg.style.left = mouseX-mousebg.offsetWidth/2+"px"; 
mousebg.style.top = mouseY-mousebg.offsetHeight/2+"px"; 
이렇게 해서 우 리 는 JS 로 이미지 확대경 을 실현 하 는 플러그 인 을 모두 완성 했다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기