//p1 jQuery.fn.loadthumb = function(options) { options = $.extend({ _img:'', maxW:100, maxH:100, model:3//1:等比缩放 2:垂直居中 3:所有功能 },options); var src=options._img.attr('src'); var par=options._img.parent(); var _self = this; _self.hide(); var img = new Image(); $(img).load(function(){ imgDem = {}; imgDem.w = img.width; imgDem.h = img.height; imgDem = $.imgResize({"w": options.maxW ,"h": options.maxH},{"w":imgDem.w,"h":imgDem.h}); var imgMargins = $.imgCenter({"w": par.width() ,"h": par.height()},{"w":imgDem.w,"h":imgDem.h}); //options._img.css({width:imgDem.w,height:imgDem.h,marginLeft:imgMargins.l,marginTop:imgMargins.t}); if(options.model==1 || options.model==3) options._img.css({width:imgDem.w,height:imgDem.h}); if(options.model==2 || options.model==3) options._img.css({marginTop:imgMargins.t});//marginLeft:imgMargins.l, _self.attr("src", src); _self.fadeIn("slow"); }).attr("src", src); //.atte("src",options.src)要放在load后面, return _self; } //重置图片宽度,高度插件 ( parentDem是父元素,imgDem是图片 ) jQuery.imgResize = function(parentDem,imgDem){ if(imgDem.w>0 && imgDem.h>0){ var rate = (parentDem.w/imgDem.w < parentDem.h/imgDem.h)?parentDem.w/imgDem.w:parentDem.h/imgDem.h; //如果 指定高度/图片高度 小于 指定宽度/图片宽度 , 那么,我们的比例数 取 指定高度/图片高度。 //如果 指定高度/图片高度 大于 指定宽度/图片宽度 , 那么,我们的比例数 取 指定宽度/图片宽度。 if(rate <= 1){ imgDem.w = imgDem.w*rate; //图片新的宽度 = 宽度 * 比例数 imgDem.h = imgDem.h*rate; }else{// 如果比例数大于1,则新的宽度等于以前的宽度。 imgDem.w = imgDem.w; imgDem.h = imgDem.h; } } return imgDem; } //使图片在父元素内水平,垂直居中,( parentDem是父元素,imgDem是图片 ) jQuery.imgCenter = function(parentDem,imgDem){ var left = (parentDem.w - imgDem.w)*0.5; var top = (parentDem.h - imgDem.h)*0.5; return { "l": left , "t": top}; } $(function(){ $('img[t=p1]').each(function(){ var t=$(this); t.loadthumb({ '_img':t, 'maxW':t.width(), 'maxH':t.height(), model:3 }); }); }) //p2 jQuery.fn.loadthumbl = function(options) { options = $.extend({ _img:'', maxW:100, maxH:100, model:3//1:等比缩放 2:垂直居中 3:所有功能 },options); var src=options._img.attr('src'); var par=options._img.parent(); var _self = this; _self.hide(); var img = new Image(); $(img).load(function(){ imgDem = {}; imgDem.w = img.width; imgDem.h = img.height; imgDem = $.imgResizel({"w": options.maxW ,"h": options.maxH},{"w":imgDem.w,"h":imgDem.h}); var imgMargins = $.imgCenter({"w": par.width() ,"h": par.height()},{"w":imgDem.w,"h":imgDem.h}); //options._img.css({width:imgDem.w,height:imgDem.h,marginLeft:imgMargins.l,marginTop:imgMargins.t}); if(options.model==1 || options.model==3) options._img.css({width:imgDem.w,height:imgDem.h}); if(options.model==2 || options.model==3) options._img.css({marginLeft:imgMargins.l,marginTop:imgMargins.t}); _self.attr("src", src); _self.fadeIn("slow"); }).attr("src", src); //.atte("src",options.src)要放在load后面, return _self; } //重置图片宽度,高度插件 ( parentDem是父元素,imgDem是图片 ) jQuery.imgResizel = function(parentDem,imgDem){ if(imgDem.w>0 && imgDem.h>0){ var ratw = parentDem.w/imgDem.w; var rath = parentDem.h/imgDem.h; var ratp = parentDem.w/parentDem.h; var ratm = imgDem.w/imgDem.h; if(ratp <= ratm){ imgDem.h = parentDem.h; imgDem.w = imgDem.w*rath; }else{ imgDem.w = parentDem.w; imgDem.h = imgDem.h*ratw; } } return imgDem; } //使图片在父元素内水平,垂直居中,( parentDem是父元素,imgDem是图片 ) jQuery.imgCenter = function(parentDem,imgDem){ var left = (parentDem.w - imgDem.w)*0.5; var top = (parentDem.h - imgDem.h)*0.5; return { "l": left , "t": top}; } $(function(){ $('img[t=p2]').each(function(){ var t=$(this); t.loadthumbl({ '_img':t, 'maxW':t.width(), 'maxH':t.height(), model:3//1:等比缩放 2:垂直居中 3:所有功能 }); }); })