jQuery 칠리 이미지 원거리 줌 플러그인_jquery
로컬 이미지, 원격 이미지, 너무 작은 이미지를 이 플러그인에 적용하려면 처리해야 할 세부 사항이 많습니다.
- 먼저 구조를 정의합니다.
-
<code class="html"> <div class="imgMagnifierWrap"> <div class="overlay"><!--覆盖层,鼠标的感应区域,位于小图上最方--></div> <div class="tipboxHover"><!--小图上方的悬停提示方框--></div> <div class="imgOriginal"><!--装载大图的容器,绝对定位<img src="bigOne.jpg" /><!--前景大图,绝对定位--></div> </div> </code>
로그인 후 복사<code class="css"> <!--样式--> <style type="text/css"> .imgMagnifierWrap *{position:absolute;background:#fff;} .imgMagnifierWrap .tipboxHover{width:80px; height:60px; filter:alpha(opacity=30);opacity:.3;display:none;} .imgMagnifierWrap .imgOriginal{display:none;z-index:9999;overflow:hidden; width:400px; height:400px; background-color:#cdf; background-repeat:no-repeat; text-align:center;border:1px solid #555; } .imgMagnifierWrap .overlay{cursor:crosshair;filter:alpha(opacity=0);opacity:0;} <style> </code>
로그인 후 복사 - 그런 다음 이미지 사전 로드를 고려해보세요.
-
<code class="js"> $.imgPreloader=function(url,eventLists){ var img=new Image(); var $img=$(img); img.src=url; $.each(eventLists,function(type,fn){ $img.bind(type,fn); }); $img.trigger(img.complete?'load':'begin'); return $img; };</code>
로그인 후 복사 - 감지 영역 다시 계산:
- 작은 그림이 위치한 감지 영역의 네 변은 표시 상자 네 변의 크기의 1/2만큼 직사각형을 뺀 영역입니다. 이 영역 밖의 영역은 큰 그림의 경계선까지 표시됩니다. :
<code class="js"> var borderLeft =thumbInfo.left+tipboxInfo.width/2; var ratioX=(mouseInfo.x-borderLeft)/(thumbInfo.width-tipboxInfo.width); </code>
로그인 후 복사 - 큰 이미지를 배경 이미지로 사용할 때 발생하는 문제:
- 미리 로드하려면 숨겨진 전경 이미지를 사용하고 로드 이벤트는 타이밍을 결정합니다. 즉, 크롬은 정상이고 ff는 이미지를 두 번 요청했지만 이미지는 캐시되지 않습니다.
- 또 다른 방법은 큰 이미지를 미리 로드하지 않는 것입니다. 큰 이미지 위치에서 오버레이로 직접 '로딩'으로 변경한 후 이미지가 크롬 아래에서 서서히 로딩되는 것처럼 보이는데, 크롬 없이 바로 표시되는 점은 조금 아쉽습니다.
- 큰 이미지를 전경 이미지로 사용한 최종 결과:
- 큰 이미지의 로드 및 오류 이벤트가 모두 정상적으로 작동할 수 있다는 장점이 있습니다.
<code class="js"> $.imgPreloader($anchor.attr('href'),{ load:function(){ isImageReady=true; $o.empty().append(this); setTimeout(autoFitPicture,0); }, begin:function(){ $o.text('loading...'); }, error:function(){ isImageReady=true; $o.text('invalid picture!'); } });</code>
로그인 후 복사큰 이미지 미리 로드의 로드 이벤트와 작은 이미지의 mousemove 이벤트 간의 비동기화 해결 방법: 마우스 좌표를 실시간으로 저장하고 프롬프트 상자 위치 지정 방법과 위치 지정 방법을 분리합니다. 큰 이미지.
<code class="js"> //鼠标位置存储 var mouseInfo={x:0,y:0}; //指示框定位 var setTipboxPosition=function(e){ mouseInfo.x=e.pageX; mouseInfo.y=e.pageY; $tipbox.css({ top:mouseInfo.y<thumbInfo.width/2+thumbInfo.top ?Math.max(mouseInfo.y-tipboxInfo.height/2,thumbInfo.top) :Math.min(mouseInfo.y-tipboxInfo.height/2,thumbInfo.top+thumbInfo.height-tipboxInfo.height), left:mouseInfo.x<thumbInfo.width/2+thumbInfo.left ?Math.max(mouseInfo.x-tipboxInfo.width/2,thumbInfo.left) :Math.min(mouseInfo.x-tipboxInfo.width/2,thumbInfo.left+thumbInfo.width-tipboxInfo.width) }); setImgPosition(); };</code>
로그인 후 복사
잠깐만요. 브라우저가 있다면 운이 좋을 수도 있습니다.
데모 코드
패키지 다운로드http://www.jb51.net/jiaoben/22866.html

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











기사는 JavaScript 라이브러리 작성, 게시 및 유지 관리, 계획, 개발, 테스트, 문서 및 홍보 전략에 중점을 둡니다.

이 기사는 브라우저에서 JavaScript 성능을 최적화하기위한 전략에 대해 설명하고 실행 시간을 줄이고 페이지로드 속도에 미치는 영향을 최소화하는 데 중점을 둡니다.

프론트 엔드 개발시 프론트 엔드 열지대 티켓 인쇄를위한 자주 묻는 질문과 솔루션, 티켓 인쇄는 일반적인 요구 사항입니다. 그러나 많은 개발자들이 구현하고 있습니다 ...

이 기사는 브라우저 개발자 도구를 사용하여 효과적인 JavaScript 디버깅, 중단 점 설정, 콘솔 사용 및 성능 분석에 중점을 둡니다.

기술 및 산업 요구에 따라 Python 및 JavaScript 개발자에 대한 절대 급여는 없습니다. 1. 파이썬은 데이터 과학 및 기계 학습에서 더 많은 비용을 지불 할 수 있습니다. 2. JavaScript는 프론트 엔드 및 풀 스택 개발에 큰 수요가 있으며 급여도 상당합니다. 3. 영향 요인에는 경험, 지리적 위치, 회사 규모 및 특정 기술이 포함됩니다.

이 기사는 소스 맵을 사용하여 원래 코드에 다시 매핑하여 미니어링 된 JavaScript를 디버그하는 방법을 설명합니다. 소스 맵 활성화, 브레이크 포인트 설정 및 Chrome Devtools 및 Webpack과 같은 도구 사용에 대해 설명합니다.

Console.log 출력의 차이의 근본 원인에 대한 심층적 인 논의. 이 기사에서는 Console.log 함수의 출력 결과의 차이점을 코드에서 분석하고 그에 따른 이유를 설명합니다. � ...

엔트리 레벨 타입 스크립트 자습서를 마스터 한 후에는 TypeScript를 지원하고 JavaScript로 컴파일하는 IDE에서 자신의 코드를 작성할 수 있어야합니다. 이 튜토리얼은 TypeScript의 다양한 데이터 유형으로 뛰어납니다. JavaScript에는 NULL, UNDEFINED, BOOLEAN, 번호, 문자열, 기호 (ES6에 의해 소개 됨) 및 객체의 7 가지 데이터 유형이 있습니다. TypeScript는이 기반으로 더 많은 유형을 정의 하며이 튜토리얼은이 모든 튜토리얼을 자세히 다룹니다. 널 데이터 유형 JavaScript와 마찬가지로 Null in TypeScript
