JS等比例缩小图片尺寸

为了提升用户体验,网站用户在上传图片的时候,我们不能够让用户自己去处理图片以达到我们的要求。

而通常像淘宝上商品实物展示这样的页面,我们需要控制的主要是图片的宽度。

又考虑到html页面解析顺序可能导致的一些问题,决定通过定义一个简单的功能函数,然后在img元素中添加onload事件来调用的方式进行实现,代码如下:

JS部分

复制代码
 1 <script type="text/javascript">
 2 function changeImg(objImg)
 3 {
 4     var most = 690;        //设置最大宽度
 5     if(objImg.width > most)
 6     {
 7         var scaling = 1-(objImg.width-most)/objImg.width;    
 8         //计算缩小比例
 9         objImg.width = objImg.width*scaling;
10         objImg.height = objImg.height;            //img元素没有设置高度时将自动等比例缩小
11         
12         //objImg.height = objImg.height*scaling;    //img元素设置高度时需进行等比例缩小
13     }
14     
15 }
16 </script>
复制代码

HTML调用部分

1 <img src="" onload="changeImg(this);" />