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 相关文章推荐
jquery-tips悬浮提示插件分享
Jul 31 Javascript
基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)
Nov 24 Javascript
利用bootstrapValidator验证UEditor
Sep 14 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
Oct 25 Javascript
bootstrap是什么_动力节点Java学院整理
Jul 14 Javascript
Vue.js做select下拉列表的实例(ul-li标签仿select标签)
Mar 02 Javascript
vue之将echart封装为组件
Jun 02 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
Jul 05 Javascript
2种在vue项目中使用百度地图的简单方法
Sep 28 Javascript
小程序实现列表删除功能
Oct 30 Javascript
layui form表单提交之后重新加载数据表格的方法
Sep 11 Javascript
Quasar Input:type=&quot;number&quot; 去掉上下小箭头 实现加减按钮样式功能
Apr 09 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之readdir函数用法实例
2014/11/13 PHP
微信支付开发维权通知实例
2016/07/12 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
2016/10/29 PHP
Yii 2.0在Grid中格式化时间方法示例
2017/06/06 PHP
PHP+MySQL实现在线测试答题实例
2020/01/02 PHP
Avengerls vs Newbee BO3 第三场2.18
2021/03/10 DOTA
让浏览器非阻塞加载javascript的几种方法小结
2011/04/25 Javascript
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
2种jQuery 实现刮刮卡效果
2015/02/01 Javascript
JS实现跟随鼠标立体翻转图片的方法
2015/05/04 Javascript
浅谈jQuery中setInterval()方法
2015/07/07 Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
2016/03/05 Javascript
JS封装通过className获取元素的函数示例
2016/12/20 Javascript
javascript常用经典算法详解
2017/01/11 Javascript
JS二叉树的简单实现方法示例
2017/04/05 Javascript
基于JavaScript实现的顺序查找算法示例
2017/04/14 Javascript
vue.js实现刷新当前页面的方法教程
2017/07/05 Javascript
ES6中字符串string常用的新增方法小结
2017/11/07 Javascript
Vue 中的compile操作方法
2018/02/26 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
基于mpvue的小程序项目搭建的步骤
2018/05/22 Javascript
vue-cli2.x项目优化之引入本地静态库文件的方法
2018/06/19 Javascript
详解js中Array的方法及技巧
2018/09/12 Javascript
vue实现移动端轻量日期组件不依赖第三方库的方法
2019/04/28 Javascript
微信小程序实现判断是分享到群还是个人功能示例
2019/05/03 Javascript
JavaScript命名空间模式实例详解
2019/06/20 Javascript
[56:24]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第二局
2016/03/04 DOTA
浅谈Python中列表生成式和生成器的区别
2015/08/03 Python
Python对字符串实现去重操作的方法示例
2017/08/11 Python
Python实现基本数据结构中栈的操作示例
2017/12/04 Python
python中get和post有什么区别
2020/06/19 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
详解Anaconda 的安装教程
2020/09/23 Python
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
优秀的自荐信要注意哪些
2014/01/03 职场文书
《蟋蟀的住宅》教学反思
2016/02/17 职场文书