溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

jQuery實現(xiàn)等比例縮放大圖片讓大圖片自適應(yīng)頁面布局

發(fā)布時間:2020-04-07 02:39:24 來源:網(wǎng)絡(luò) 閱讀:1043 作者:xiaoxuanyunmeng 欄目:web開發(fā)

在布局頁面時,有時會遇到大圖片將頁面容器“撐破”的情況,尤其是加載外鏈圖片(通常是通過采集的外站的圖片)。那么本文將為您講述使用jQuery如何按比例縮放大圖片,讓大圖片自適應(yīng)頁面布局。

通常我們處理縮略圖是使用后臺代碼(PHP、.net、Java等)根據(jù)大圖片生成一定尺寸的縮略圖,來供前臺頁面調(diào)用,當(dāng)然也有使用前臺javascript腳本將加載后的大圖強(qiáng)行縮放,變成所謂的縮略圖,這種方法不可取。但是,針對網(wǎng)站內(nèi)容頁,如本站文章詳情頁,如果需要加載一張很大的圖片時,為了防止“撐破”布局,我們使用jQuery來等比例縮放圖片。我們分兩種情況來講述:

1.已知圖片尺寸
代碼如下:

<div id="demo1">
<img src="a.jpg" width="800" height="300" alt="圖片">
</div>

當(dāng)頁面加載的圖片中含有屬性width和height值,則可以使用幾句簡單的jQuery代碼實現(xiàn)等比例縮放。
代碼如下:

$(function(){
var w = $("#demo1").width();//容器寬度
$("#demo1 img").each(function(){//如果有很多圖片,我們可以使用each()遍歷
var img_w = $(this).width();//圖片寬度
var img_h = $(this).height();//圖片高度
if(img_w>w){//如果圖片寬度超出容器寬度--要撐破了
var height = (w*img_h)/img_w; //高度等比縮放
$(this).css({"width":w,"height":height});//設(shè)置縮放后的寬度和高度
}
});
});

2.未知圖片尺寸

當(dāng)頁面加載的圖片尺寸未知的情況下,上述代碼則不能進(jìn)行有效的縮放,這種情況多出現(xiàn)在采集的外部鏈接圖片。
代碼如下:

<div id="demo2">
<img src="a.jpg" alt="圖片">
</div>

所幸的是,有好心朋友已經(jīng)寫出來專門的插件來處理,而且跨瀏覽器,解決了前端朋友們的一大難題。

下面隆重介紹下autoIMG。

autoIMG可以快速對文章圖片進(jìn)行尺寸自適應(yīng),它利用瀏覽器獲取圖片文件頭尺寸數(shù)據(jù),無需等待圖片加載完成。

autoIMG兼容:Chrome | Firefox | Sifari | Opera | IE6 | IE7 | IE8 | ...

調(diào)用autoIMG插件方法相當(dāng)簡單:
代碼如下:

$(function(){
$("#demo2").autoIMG();
});

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI