


자바스크립트 기반으로, 모바일 단말기에서 이미지를 클릭하시면 더 큰 이미지를 보실 수 있습니다. hide_javascript 스킬은 이미지를 클릭하시면 크게 보실 수 있습니다.
1. 수요
이미지를 클릭하면 큰 이미지를 볼 수 있고, 큰 이미지를 클릭하면 숨길 수 있습니다. 모바일 화면이 작고 큰 이미지를 봐야 할 수도 있기 때문에 모바일 기기에서 주로 사용됩니다.
2. 코드
<!DOCTYPE html> <html> <meta charset="utf-8"/> <head runat="server"> <title>JQuery点击图片查看大图by starof</title> <style type="text/css"> .exampleImg { height:100px; cursor:pointer;} </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"> //alert($); // (function (window, undefined) { // var MyJQuery = function () { // window.MyjQuery = window.$ = jQuery; window.$ = MyJQuery; // }; // })(window); // alert($); $.fn.ImgZoomIn = function () { bgstr = '<div id="ImgZoomInBG" style=" background:#000000; filter:Alpha(Opacity=70); opacity:0.7; position:fixed; left:0; top:0; z-index:10000; width:100%; height:100%; display:none;"><iframe src="about:blank" frameborder="5px" scrolling="yes" style="width:100%; height:100%;"></iframe></div>'; //alert($(this).attr('src')); imgstr = '<img id="ImgZoomInImage" src="' + $(this).attr('src')+'" onclick=$(\'#ImgZoomInImage\').hide();$(\'#ImgZoomInBG\').hide(); style="cursor:pointer; display:none; position:absolute; z-index:10001;" />'; if ($('#ImgZoomInBG').length < 1) { $('body').append(bgstr); } if ($('#ImgZoomInImage').length < 1) { $('body').append(imgstr); } else { $('#ImgZoomInImage').attr('src', $(this).attr('src')); } //alert($(window).scrollLeft()); //alert( $(window).scrollTop()); $('#ImgZoomInImage').css('left', $(window).scrollLeft() + ($(window).width() - $('#ImgZoomInImage').width()) / 2); $('#ImgZoomInImage').css('top', $(window).scrollTop() + ($(window).height() - $('#ImgZoomInImage').height()) / 2); $('#ImgZoomInBG').show(); $('#ImgZoomInImage').show(); }; $(document).ready(function () { $("#imgTest").bind("click", function () { $(this).ImgZoomIn(); }); }); </script> </head> <body> <div> <!--第一种写法--> <img class="exampleImg" src="images/03.jpg" id="imgTest"/> <!--第二种写法--> <img class="exampleImg" src="images/p1_nav2.png" onClick="$(this).ImgZoomIn();"/> </div> </body> </html>
3. 스킬
모바일 단말기는 핫스팟을 추가할 수 없기 때문에 최종 해결 방법은 4개의 a 태그를 사용하여 왼쪽 위 모서리, 오른쪽 위 모서리, 왼쪽 아래 모서리, 오른쪽 아래 모서리를 찾는 것입니다.
<dl> <dd style="display:block;"> <img src="images/four-duche.jpg" onClick="$(this).ImgZoomIn();"> <a href="javascript:;" src="images/11.jpg" class="topleft" onClick="$(this).ImgZoomIn();"></a> <a href="javascript:;" src="images/12.jpg" class="topright" onClick="$(this).ImgZoomIn();"></a> <a href="javascript:;" src="images/13.jpg" class="bottomleft" onClick="$(this).ImgZoomIn();"></a> <a href="javascript:;" src="images/14.jpg" class="bottomright" onClick="$(this).ImgZoomIn();"></a> </dd> ... </dl> css .topleft,.topright,.bottomleft,.bottomright{ width:50%; height:50%; position:absolute; } .topleft{ /*background-color:red;*/ top:0; left:0; } .topright{ /*background-color:green;*/ top:0; right:0; } .bottomleft{ /*background-color:blue;*/ bottom:0; left:0; } .bottomright{ /*background-color:yellow;*/ bottom:0; right:0; }
PS: 모바일 웹사이트 모바일 이미지 지연 로딩 구현
국내 통신망의 비용 효율성의 한계와 휴대폰 처리 능력의 차이로 인해 무선 애플리케이션을 설계할 때
사용자를 위한 트래픽을 절약하는 것은 매우 중요한 고려 사항입니다. 틀림없이 모든 바이트는 클라이언트를 위해 저장되어야 합니다.
트래픽 절약은 다음 측면에 중점을 둘 수 있습니다.
1. 이전에 논의한 브라우저 로컬 저장소 사용 등 캐시를 사용합니다
2. 코드 로딩 지연(바닥 감지, 인터페이스를 통해 데이터 획득)
3. 리소스 로딩 지연, 보이는 영역에 사진이 나타난 후 로딩되고, (자동 재생을 고려하지 않고) 오디오 및 비디오는 사용자 클릭에 따라 로딩됩니다.
오늘은 이미지 지연 로딩 구현 방법에 대해 간략하게 말씀드리겠습니다.
jQuery와 jQuery 모바일 기반 예시
원리: 사용자가 화면을 슬라이드하면 화면 스크롤이 종료되어(jQuery에서 제공하는 창 스크롤 중지 이벤트를 적절하게 사용) 뷰포트에 나타나는 그림을 감지합니다.
이미지의 실제 src 속성을 바꾸세요.
팁: 1초 지연을 설정하면 사용자가 즉시 다음 스크롤을 시작할 수도 있습니다. 현재 네트워크 환경에 따라 1초 지연은 사용자가 실제로 원하는 것임을 나타낼 수 있습니다. 내용을 봅니다. WeChat을 사용하는 친구들은 이것을 신중하게 경험할 수 있습니다.
시계 제어로 인해 사용자가 화면을 자주, 빠르게 전환할 경우 많은 요청이 발생하지 않습니다.
메인 코드:
var refreshTimer = null, mebook = mebook || {}; /* *滚动结束 屏幕静止一秒后检测哪些图片出现在viewport中 *和PC端不同 由于无线速度限制 和手机运算能力的差异 1秒钟的延迟对手机端的用户来说可以忍受 */ $(window).on('scrollstop', function () { if (refreshTimer) { clearTimeout(refreshTimer); refreshTimer = null; } refreshTimer = setTimeout(refreshAll, 1e3); }); $.belowthefold = function (element) { var fold = $(window).height() + $(window).scrollTop(); return fold <= $(element).offset().top; }; $.abovethetop = function (element) { var top = $(window).scrollTop(); return top >= $(element).offset().top + $(element).height(); }; /* *判断元素是否出现在viewport中 依赖于上两个扩展方法 */ $.inViewport = function (element) { return !$.belowthefold(element) && !$.abovethetop(element) }; mebook.getInViewportList = function () { var list = $('#bookList li'), ret = []; list.each(function (i) { var li = list.eq(i); if ($.inViewport(li)) { mebook.loadImg(li); } }); }; mebook.loadImg = function (li) { if (li.find('img[_src]').length) { var img = li.find('img[_src]'), src = img.attr('_src'); img.attr('src', src).load(function () { img.removeAttr('_src'); }); } };

핫 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
