JS获取图片高度宽度的方法分享


Posted in Javascript onApril 17, 2015

一般获取图片高度宽度的写法:

var img = new Image();

img.src = imgsrc;

var imgWH = CalcImgTiple(img.width, img.height);

但chrome中测试 无法获取到。img.width, img.height都为0

原因:当图片不是本地图片,而是网络图片
onload 在成功地装载了图像时调用的事件处理程序。

在做web开发,其中有一个需求:利用Javascript获取要加载的图片的尺寸,所以很自然的,想到了img的onload方法,在firefox下开发完成后,到IE下调试,发现img的onload事件很多情况下都不被调用。

最初的代码如下:

var img = new Image;

img.src = "test.gif";

img.onload = function(){

alert ( img.width );

};

这段代码看着没什么问题,但是为什么onload没有被IE调用呢?因为IE会缓存图片,第2次加载的图片,不是从服务器上传过来的,而是从缓冲区里加载的。是不是从缓冲区里加载的图片就不触发onload事件呢?我于是我测试了以下代码,成功了~

var img = new Image;

img.onload = function(){

alert ( img.width );     };

img.src = "test.gif";

把onload写到前面去,先告诉浏览器如何处理这张图片,再指定这张图片的源,这样就正常了。所以,不是IE没有触发onload事件,而是因为加载缓冲区的速度太快,以至于没有运行到img.onload的时候,onload事件已经触发了。这让想到了Ajax,在写xmlhttp的时候,都是先指定onstatechange的回调函数,然后再send数据的,道理是一样的

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
jquery操作 iframe的方法
Dec 03 Javascript
Javascript中的几种URL编码方法比较
Jan 23 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
Jan 23 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
Aug 28 Javascript
knockoutjs动态加载外部的file作为component中的template数据源的实现方法
Sep 01 Javascript
浅析上传头像示例及其注意事项
Dec 14 Javascript
canvas绘图不清晰的解决方案
Feb 28 Javascript
vue.js利用Object.defineProperty实现双向绑定
Mar 09 Javascript
jquery ajax异步提交表单数据的方法
Oct 27 jQuery
vue中使用iview自定义验证关键词输入框问题及解决方法
Mar 26 Javascript
Redux实现组合计数器的示例代码
Jul 04 Javascript
JavaScript中filter的用法实例分析
Feb 27 Javascript
JS替换字符串中空格方法
Apr 17 #Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
Apr 17 #Javascript
jQuery实现自定义事件的方法
Apr 17 #Javascript
jQuery插件slides实现无缝轮播图特效
Apr 17 #Javascript
js实现touch移动触屏滑动事件
Apr 17 #Javascript
JavaScript实现控制打开文件另存为对话框的方法
Apr 17 #Javascript
JavaScript对象反射用法实例
Apr 17 #Javascript
You might like
php file_exists 检查文件或目录是否存在的函数
2010/05/10 PHP
php操作SVN版本服务器类代码
2011/11/27 PHP
php站内搜索关键词变亮的实现方法
2014/12/30 PHP
PHP常见数组函数用法小结
2016/03/21 PHP
PHP中静态变量的使用方法实例分析
2016/12/01 PHP
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
JavaScript之Getters和Setters 平台支持等详细介绍
2012/12/07 Javascript
jQuery性能优化28条建议你值得借鉴
2013/02/16 Javascript
jquery 无限极下拉菜单的简单实例(精简浓缩版)
2016/05/31 Javascript
JS结合bootstrap实现基本的增删改查功能
2016/07/22 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
Html5 js实现手风琴效果
2020/04/17 Javascript
JS实现简单短信验证码界面
2017/08/07 Javascript
简单实现jQuery手风琴效果
2017/08/18 jQuery
父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法
2018/04/25 Javascript
bootstrap与pagehelper实现分页效果
2018/12/29 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
[01:35]辉夜杯战队访谈宣传片—iG.V
2015/12/25 DOTA
[01:04:08]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第一场 12.16
2020/12/18 DOTA
Python实现爬虫从网络上下载文档的实例代码
2018/06/13 Python
详解Python利用random生成一个列表内的随机数
2019/08/21 Python
Keras设置以及获取权重的实现
2020/06/19 Python
matplotlib subplot绘制多个子图的方法示例
2020/07/28 Python
Python从文件中读取数据的方法步骤
2020/11/18 Python
python switch 实现多分支选择功能
2020/12/21 Python
python切片作为占位符使用实例讲解
2021/02/17 Python
Can a struct inherit from another class? (结构体能继承类吗)
2014/07/22 面试题
应届生法律求职信
2013/10/22 职场文书
小学优秀教育工作者事迹材料
2014/05/09 职场文书
2014年医院个人工作总结
2014/12/09 职场文书
毕业典礼邀请函
2015/01/31 职场文书
普宁寺导游词
2015/02/04 职场文书
办公室规章制度范本
2015/08/04 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书
八年级作文之友情
2019/11/25 职场文书
深度学习小工程练习之垃圾分类详解
2021/04/14 Python