圖片預先載入並且自動等比例縮放的JS外掛程式

來源:互聯網
上載者:User

/*
**************圖片預先載入外掛程式******************
///作者:沒劍(2008-06-23)
///http://regedit.cnblogs.com

///說明:在圖片載入前顯示一個載入標誌,當圖片下載完畢後顯示圖片出來
可對圖片進行是否自動縮放功能
此外掛程式使用時可讓頁面先載入,而圖片後載入的方式,
解決了平時使用時要在圖片顯示出來後才能進行縮放時撐大布局的問題
///參數設定:
scaling 是否等比例自動縮放
width 圖片最大高
height 圖片最大寬
loadpic 載入中的圖片路徑
*/
jQuery.fn.LoadImage=function(scaling,width,height,loadpic){
if(loadpic==null)loadpic="load3.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=$("<img alt=\"載入中\" title=\"圖片載入中\" src=\""+loadpic+"\" />");

t.hide();
t.after(loading);
$(img).load(function(){
autoScaling();
loading.remove();
t.attr("src",this.src);
t.show();
//alert("finally!")
});

});
}

使用說明:

$("div img").LoadImage(true,120,90);

效果如下:

效果示範

示範代碼下載



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。