為了提升用戶體驗,網站用戶在上傳圖片的時候,我們不能夠讓用戶自己去處理圖片以達到我們的要求。
而通常像淘寶上商品實物展示這樣的頁面,我們需要控制的主要是圖片的寬度。
又考慮到html頁面解析順序可能導致的一些問題,決定通過定義一個簡單的功能函數,然後在img元素中添加onload事件來調用的方式進行實現,代碼如下:
JS部分
復制代碼 代碼如下:
<script type="text/javascript">
function changeImg(objImg)
{
var most = 690; //設置最大寬度
if(objImg.width > most)
{
var scaling = 1-(objImg.width-most)/objImg.width;
//計算縮小比例
objImg.width = objImg.width*scaling;
objImg.height = objImg.height; //img元素沒有設置高度時將自動等比例縮小
//objImg.height = objImg.height*scaling; //img元素設置高度時需進行等比例縮小
}
}
</script>
HTML調用部分
復制代碼 代碼如下:
<img src="" onload="changeImg(this);" />