1$(function () { 2 $(".imgShowBtn").click( 3 function () { 4 event.stopPropagation(); 5 var _this = $(this);//å°å½åçpimgå ç´ ä½ä¸º_thisä¼ å ¥å½æ° 6 imgShow("#outerdiv", "#innerdiv", "#bigimg", _this); 7 //ç§»å¨ç«¯ææç§»å¨äºä»¶,妿ä¸éè¦ç§»å¨ç«¯ææäºä»¶,è¿ä¸é¨åå 容å¯ä»¥ä¸å ,åªè¦ä¸é¢ä¸¤è¡ä»£ç 以åimgShow()äºä»¶ 8 var eleImg = document.querySelector('#innerdiv'); 9 var store = { 10 scale: 1 11 }; 12 //å®ä¹ç§»å¨ç«¯çåå§ä½ç½® 13 var position_top, position_left, pageX, pageY; 14 // 缩æ¾äºä»¶çå¤ç 15 //äºä»¶å¼å§ 16 eleImg.addEventListener('touchstart', function (event) { 17 event.preventDefault();//黿¢é»è®¤äºä»¶ï¼é²æ¢åºé¨å 容æ»å¨ 18 //å¨è§¦å±è®¾å¤ä¸ï¼è¦å¤ææ¯åæè¿æ¯å¤ææä½ï¼å¯ä»¥éè¿event.touchesæ°ç»å¯¹è±¡çé¿åº¦å¤æã 19 var touches = event.touches; 20 var events = touches[0];//åæ 21 var events2 = touches[1];//åæ 22 if (touches.length == 1) { //åææä½ 23 pageX = Number(events.pageX); 24 pageY = Number(events.pageY); 25 store.moveable = true; 26 var _obj = $('#innerdiv'); 27 // .cssè·åç弿¯å符串 28 position_left = parseFloat(_obj.css('left') 29 .split('px')); 30 position_top = parseFloat(_obj.css('top') 31 .split('px')); 32 33 } else { 34 // 第ä¸ä¸ªè§¦æ¸ç¹çåæ 35 store.pageX = events.pageX; 36 store.pageY = events.pageY; 37 store.moveable = true; 38 if (events2) { 39 store.pageX2 = events2.pageX; 40 store.pageY2 = events2.pageY; 41 } 42 store.originScale = store.scale || 1; 43 } 44 }, { passive: false }); //passive: falseå¿ é¡»å ä¸,å¦åæ§å¶å°æ¥é 45 //å¼å§ç§»å¨ 46 document.addEventListener('touchmove', function (event) { 47 // event.preventDefault();//黿¢é»è®¤äºä»¶ï¼é²æ¢åºé¨æ»å¨ 48 if (!store.moveable) { 49 return; 50 } 51 var touches = event.touches; 52 var events = touches[0]; 53 var events2 = touches[1]; 54 if (touches.length == 1) 55 { 56 var pageX2 = Number(events.pageX); 57 var pageY2 = Number(events.pageY); 58 //æ§å¶å¾çç§»å¨ 59 $('#innerdiv').css({ 60 'top': position_top + pageY2 - pageY + 'px', 61 "left": position_left + pageX2 - pageX + 'px' 62 }) 63 } 64 else 65 { 66 // åæç§»å¨ 67 if (events2) { 68 // 第2个æå¤´åæ å¨touchmoveæ¶åè·å 69 if (!store.pageX2) { 70 store.pageX2 = events2.pageX; 71 } 72 if (!store.pageY2) { 73 store.pageY2 = events2.pageY; 74 } 75 76 // è·ååæ ä¹é´çè·ç¦» 77 var getDistance = function (start, stop) { 78 //ç¨å°ä¸è§å½æ° 79 return Math.hypot(stop.x - start.x, 80 stop.y - start.y); 81 }; 82 // åæç¼©æ¾æ¯ä¾è®¡ç® 83 var zoom = getDistance({ 84 x: events.pageX, 85 y: events.pageY 86 }, { 87 x: events2.pageX, 88 y: events2.pageY 89 }) / getDistance({ 90 x: store.pageX, 91 y: store.pageY 92 }, { 93 x: store.pageX2, 94 y: store.pageY2 95 }); 96 // åºç¨å¨å ç´ ä¸çç¼©æ¾æ¯ä¾ 97 var newScale = store.originScale * zoom; 98 // æå¤§ç¼©æ¾æ¯ä¾éå¶ 99 if (newScale > 3) 100 { 101 newScale = 3; 102 } 103 // è®°ä½ä½¿ç¨ç缩æ¾å¼ 104 store.scale = newScale; 105 // å¾ååºç¨ç¼©æ¾ææ 106 eleImg.style.transform = 'scale(' 107 + newScale + ')'; 108 } 109 } 110 }, { passive: false });//*/ 111 112 document.addEventListener('touchend', function () { 113 store.moveable = false; 114 delete store.pageX2; 115 delete store.pageY2; 116 }); 117 document.addEventListener('touchcancel', function () { 118 store.moveable = false; 119 delete store.pageX2; 120 delete store.pageY2; 121 }); 122 }); 123 //ç§»å¨ç«¯ææé¡µé¢ç»æ 124}); 125 126//é®ç½©å±å¾çä½ç½® 127function imgShow(outerdiv, innerdiv, bigimg, _this) { 128 //è¿æ¯åæå¤ææ¯å¦PC端ç彿°äºä»¶
129 var flag = IsPC(); 130 console.log(flag); 131 var src = _this.attr("src");//è·åå½åç¹å»çpimgå ç´ ä¸çsrc屿§ 132 $(bigimg).attr("src", src);//设置#bigimgå ç´ çsrc屿§ 133 /*è·åå½åç¹å»å¾çççå®å¤§å°ï¼å¹¶æ¾ç¤ºå¼¹åºå±å大å¾*/ 134 $("<img/>").attr("src", src).on( "load" , function () { 135 //注æå¨ä½¿ç¨è¿ç§æ¹æ³è·åçªå£é«åº¦åå®½åº¦çæ¶å, 136 //å¡å¿ å¨html页颿䏿¹å ä¸ä¸å¥<!DOCTYPE html>,å¦åè·åå±å¹é«åº¦æ¶ä¼åºé®é¢ 137 var windowW = $(window).width();//è·åå½åçªå£å®½åº¦ 138 var windowH = $(window).height();//è·åå½åçªå£é«åº¦ 139 var realWidth = this.width;//è·åå¾ççå®å®½åº¦ 140 var realHeight = this.height;//è·åå¾ççå®é«åº¦ 141 var imgWidth, imgHeight; 142 var scale = 0.9;//缩æ¾å°ºå¯¸ï¼å½å¾ççå®å®½åº¦åé«åº¦å¤§äºçªå£å®½åº¦åé«åº¦æ¶è¿è¡ç¼©æ¾ 143 if (realHeight > windowH * scale) {//夿å¾çé«åº¦ 144 imgHeight = windowH * scale;//å¦å¤§äºçªå£é«åº¦ï¼å¾çé«åº¦è¿è¡ç¼©æ¾ 145 imgWidth = imgHeight / realHeight * realWidth;//çæ¯ä¾ç¼©æ¾å®½åº¦ 146 if (imgWidth > windowW * scale) {//å¦å®½åº¦æå¤§äºçªå£å®½åº¦ 147 imgWidth = windowW * scale;//å对宽度è¿è¡ç¼©æ¾ 148 } 149 } else if (realWidth > windowW * scale) {//å¦å¾çé«åº¦åéï¼å¤æå¾ç宽度 150 imgWidth = windowW * scale;//å¦å¤§äºçªå£å®½åº¦ï¼å¾ç宽度è¿è¡ç¼©æ¾ 151 imgHeight = imgWidth / realWidth * realHeight;//çæ¯ä¾ç¼©æ¾é«åº¦ 152 } else {//妿å¾ççå®é«åº¦å宽度é½ç¬¦åè¦æ±ï¼é«å®½ä¸å 153 if (flag == false) { 154 imgWidth = realWidth; 155 imgHeight = realHeight; 156 } else if (realWidth >= 1000) { //è¿éææå¾ç太大ååäºä¸ªå¤æ 157 imgWidth = realWidth; 158 imgHeight = realHeight; 159 } else { 160 imgWidth = realWidth * 2; 161 imgHeight = realHeight * 2; 162 } 163 } 164 $(bigimg).css("width", imgWidth);//以æç»ç宽度对å¾çç¼©æ¾ 165 var w = (windowW - imgWidth) / 2;//计ç®å¾çä¸çªå£å·¦è¾¹è· 166 var h = (windowH - imgHeight) / 2;//计ç®å¾çä¸çªå£ä¸è¾¹è· 167 $(innerdiv).css({ 168 "top": h, 169 "left": w 170 });//设置#innerdivçtopåleft屿§ 171 $(outerdiv).fadeIn("fast");//æ·¡å ¥æ¾ç¤º#outerdivå.pimg 172 }); 173 $(outerdiv).click(function () {//忬¡ç¹å»æ·¡åºæ¶å¤±å¼¹åºå± 174 $(this).fadeOut("fast"); 175 }); 176 $("#innerClose").click(function () {//忬¡ç¹å»æ·¡åºæ¶å¤±å¼¹åºå± 177 $(outerdiv).fadeOut("fast"); 178 }); 179}; 180 181function IsPC() 182{ 183 var sUserAgent = navigator.userAgent; 184 if (sUserAgent.indexOf('Android') > -1 || sUserAgent.indexOf('iPhone') > -1 || sUserAgent.indexOf('iPad') > -1 || sUserAgent.indexOf('iPod') > -1 || sUserAgent.indexOf('Symbian') > -1) { 185 return false; 186 } 187 else { 188 return true; 189 } 190}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.