jquery.fn.autozoomloadimage = function(scaling, width, height, loadpic) { if (loadpic == null) loadpic = "images/whiteloader.gif"; return this.each(function() { var t = $(this); var src = $(this).attr("src"); var img = new image(); //alert("loading") img.src = src; //自动缩放图片 var autoscaling = function() { if (scaling) { if (img.width > 0 && img.height > 0) { if (img.width / img.height >= width / height) { if (img.width > width) { t.width(width); t.height((img.height * width) / img.width); } else { t.width(img.width); t.height(img.height); } } else { if (img.height > height) { t.height(height); t.width((img.width * height) / img.height); } else { t.width(img.width); t.height(img.height); } } } } } //处理ff下会自动读取缓存图片 if (img.complete) { //alert("gettocache!"); autoscaling(); return; } $(this).attr("src", ""); var loading = $("\"加载中\""); t.hide(); t.after(loading); $(img).load(function() { autoscaling(); loading.remove(); t.attr("src", this.src); t.show(); //alert("finally!") }); }); }