1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | /** * 缩略图 * * @param bool isScaling 是否缩放 * @param int width 宽度 * @param int height 高度 * @param string loadindPic 表示“正在加载中”的图片地址 */ jQuery.fn.LoadImage = function (isScaling, width, height, loadindPic) { if (loadindPic == null ) { loadindPic = "../images/msg_img/loading.gif" ; } return this .each( function () { var _this = $( this ); var src = $( this ).attr( "src" ) var img = new Image(); img.src = src; // 自动缩放图片 var autoScaling = function () { if (isScaling) { if (img.width > 0 && img.height > 0) { if (img.width / img.height >= width / height) { if (img.width > width) { _this.width(width); _this.height((img.height * width) / img.width); } else { _this.width(img.width); _this.height(img.height); } } else { if (img.height > height) { _this.height(height); _this.width((img.width * height) / img.height); } else { _this.width(img.width); _this.height(img.height); } } } } } // 处理ff下会自动读取缓存图片 if (img.complete) { autoScaling(); return ; } $( this ).attr( "src" , "" ); var loading = $( "<img alt=\"加载中...\" title=\"图片加载中...\" src=\"" + loadindPic + "\" />" ); _this.hide(); _this.after(loading); $(img).load( function () { autoScaling(); loading.remove(); _this.attr( "src" , this .src); _this.show(); //$('.photo_prev a,.photo_next a').height($('#big-pic img').height()); }); }); } // 应用举例 $( function () { $( '#Article .content img' ).LoadImage( true , 660, 660, 'http://127.0.0.12:8088/statics/images/s_nopic.gif' ); }) |