JS等比例缩小图片尺寸的实例


Posted in Javascript onFebruary 27, 2013

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

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

又考虑到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);" />
Javascript 相关文章推荐
HTML IMG标签 onload 内存溢出导致浏览器CPU占用过高
Mar 09 Javascript
js的.innerHTML = &quot;&quot;IE9下显示有错误的解决方法
Sep 16 Javascript
JavaScript实现删除,移动和复制文件的方法
Aug 05 Javascript
JS实现先显示大图后自动收起显示小图的广告代码
Sep 04 Javascript
非常棒的jQuery图片轮播效果
Apr 17 Javascript
Bootstrap中data-target 到底是什么
Feb 14 Javascript
jquery仿微信聊天界面
May 06 jQuery
vue的事件绑定与方法详解
Aug 16 Javascript
BootStrap数据表格实例代码
Sep 13 Javascript
vue使用keep-alive实现数据缓存不刷新
Oct 21 Javascript
自定义Vue组件打包、发布到npm及使用教程
May 22 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
Jun 02 Javascript
JQuery切换显示的效果实例代码
Feb 27 #Javascript
innerText和textContent对比及使用介绍
Feb 27 #Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
Feb 26 #Javascript
jQuery easyui datagrid动态查询数据实例讲解
Feb 26 #Javascript
jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
Feb 26 #Javascript
jquery创建一个ajax关键词数据搜索实现思路
Feb 26 #Javascript
jQuery创建平滑的页面滚动(顶部或底部)
Feb 26 #Javascript
You might like
PHP 简单日历实现代码
2009/10/28 PHP
PHP取得一个类的属性和方法的实现代码
2011/05/22 PHP
php 定义404页面的实现代码
2012/11/19 PHP
PHP生成plist数据的方法
2015/06/16 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
Laravel 类和接口注入相关的代码
2019/10/15 PHP
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
谈谈JavaScript中浏览器兼容问题的写法小议
2016/12/17 Javascript
详解 vue.js用法和特性
2017/10/15 Javascript
element-ui中的select下拉列表设置默认值方法
2018/08/24 Javascript
分享一个vue项目“脚手架”项目的实现步骤
2019/05/26 Javascript
微信小程序 wx:for遍历循环使用实例解析
2019/09/09 Javascript
[10:07]2014DOTA2国际邀请赛 实拍选手现场观战DK对阵Titan
2014/07/12 DOTA
pyqt4教程之messagebox使用示例分享
2014/03/07 Python
python生成日历实例解析
2014/08/21 Python
在Django的上下文中设置变量的方法
2015/07/20 Python
在CentOS上配置Nginx+Gunicorn+Python+Flask环境的教程
2016/06/07 Python
Python中装饰器兼容加括号和不加括号的写法详解
2017/07/05 Python
Python中Threading用法详解
2017/12/27 Python
在Python中调用Ping命令,批量IP的方法
2019/01/26 Python
Python Django 命名空间模式的实现
2019/08/09 Python
在Django下创建项目以及设置settings.py教程
2019/12/03 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
python访问hdfs的操作
2020/06/06 Python
Python 打印自己设计的字体的实例讲解
2021/01/04 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
纯css3使用vw和vh实现自适应的方法
2018/02/09 HTML / CSS
html5视频常用API接口的实战示例
2020/03/20 HTML / CSS
程序员岗位职责
2013/11/11 职场文书
遗嘱继承公证书
2014/04/09 职场文书
《李时珍夜宿古寺》教学反思
2014/04/09 职场文书
升职感谢信
2015/01/22 职场文书
告诉你一个秘密:富人致富的五大优点
2019/07/11 职场文书
七年级作文之秋游
2019/10/21 职场文书
MySQL七种JOIN类型小结
2021/10/24 MySQL
漫画「日和酱的要求是绝对的」第3卷封面公开
2022/03/21 日漫