话不多说,直接上代码
1 <html> 2 <head> 3 <style> 4 .over {position: fixed; left:0; top:0; width:100%; z-index:100;} 5 .tempContainer {position:fixed; width:100%; margin-right:0px; margin-left:0px; text-align:center; z-index:101;} 6 </style> 7 <script src="http://code.jquery.com/jquery-1.8.0.min.js"></script> 8 </head> 9 <body> 10 <div class="over"></div><!--背景层--> 11 <div class="logoImg amplifyImg"><!--注意:此处的amlifyImg不可少--> 12 <img src="test.jpg"/><!-- 此处是引入图片的路径 --> 13 </div> 14 <script> 15 $(document).ready(function () { 16 var imgsObj = $('.amplifyImg img');//需要放大的图像 17 if(imgsObj){ 18 $.each(imgsObj,function(){ 19 $(this).click(function(){ 20 var currImg = $(this); 21 coverLayer(1); 22 var tempContainer = $('<div class=tempContainer></div>');//图片容器 23 with(tempContainer){//width方法等同于$(this) 24 appendTo("body"); 25 var windowWidth=$(window).width(); 26 var windowHeight=$(window).height(); 27 //获取图片原始宽度、高度 28 var orignImg = new Image(); 29 orignImg.src =currImg.attr("src") ; 30 var currImgWidth= orignImg.width; 31 var currImgHeight = orignImg.height; 32 if(currImgWidth<windowWidth){//为了让图片不失真,当图片宽度较小的时候,保留原图 33 if(currImgHeight<windowHeight){ 34 var topHeight=(windowHeight-currImgHeight)/2; 35 if(topHeight>35){/*此处为了使图片高度上居中显示在整个手机屏幕中:因为在android,ios的微信中会有一个title导航,35为title导航的高度*/ 36 topHeight=topHeight-35; 37 css('top',topHeight); 38 }else{ 39 css('top',0); 40 } 41 html('<img border=0 src=' + currImg.attr('src') + '>'); 42 }else{ 43 css('top',0); 44 html('<img border=0 src=' + currImg.attr('src') + ' height='+windowHeight+'>'); 45 } 46 }else{ 47 var currImgChangeHeight=(currImgHeight*windowWidth)/currImgWidth; 48 if(currImgChangeHeight<windowHeight){ 49 var topHeight=(windowHeight-currImgChangeHeight)/2; 50 if(topHeight>35){ 51 topHeight=topHeight-35; 52 css('top',topHeight); 53 }else{ 54 css('top',0); 55 } 56 html('<img border=0 src=' + currImg.attr('src') + ' width='+windowWidth+';>'); 57 }else{ 58 css('top',0); 59 html('<img border=0 src=' + currImg.attr('src') + ' width='+windowWidth+'; height='+windowHeight+'>'); 60 } 61 } 62 } 63 tempContainer.click(function(){ 64 $(this).remove(); 65 coverLayer(0); 66 }); 67 }); 68 }); 69 } 70 else{ 71 return false; 72 } 73 //使用禁用蒙层效果 74 function coverLayer(tag){ 75 with($('.over')){ 76 if(tag==1){ 77 css('height',$(document).height()); 78 css('display','block'); 79 css('opacity',1); 80 css("background-color","#FFFFFF"); 81 css("background-color","rgba(0,0,0,0.7)" ); //蒙层透明度 82 } 83 else{ 84 css('display','none'); 85 } 86 } 87 } 88 }); 89 </script> 90 </body> 91 </html>
over!over!over!