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);" />