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 相关文章推荐
用JavaScript对JSON进行模式匹配(Part 1-设计)
Jul 17 Javascript
PHP 数组current和next用法分享
Mar 05 Javascript
js实现图片轮播效果
Dec 19 Javascript
详解能在多种前端框架下使用的表格控件
Jan 11 Javascript
原生js实现验证码功能
Mar 16 Javascript
vue.js中$set与数组更新方法
Mar 08 Javascript
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
Aug 24 Javascript
vue项目搭建以及全家桶的使用详细教程(小结)
Dec 19 Javascript
微信小程序实现简易table表格
Jun 19 Javascript
详解Vue中的基本语法和常用指令
Jul 23 Javascript
JavaScript定时器常见用法实例分析
Nov 15 Javascript
js实现贪吃蛇游戏 canvas绘制地图
Sep 09 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中遍历stdclass object的实现代码
2011/06/09 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
2016/11/10 PHP
PHP编程获取各个时间段具体时间的方法
2017/05/26 PHP
PHP重置数组为连续数字索引的几种方式总结
2018/03/12 PHP
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
利用函数的惰性载入提高javascript代码执行效率
2014/05/05 Javascript
JavaScript中Null与Undefined的区别解析
2015/06/30 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
仅一个form表单 js实现注册信息依次填写提交功能
2016/06/12 Javascript
html+js实现简单的计算器代码(加减乘除)
2016/07/12 Javascript
BootStrap入门教程(二)之固定的内置样式
2016/09/19 Javascript
js 调用百度分享功能
2017/02/27 Javascript
基于JavaScript+HTML5 实现打地鼠小游戏逻辑流程图文详解(附完整代码)
2017/11/02 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
详解vue项目打包后通过百度的BAE发布到网上的流程
2018/03/05 Javascript
vue中Npm run build 根据环境传递参数方法来打包不同域名
2018/03/29 Javascript
vue element项目引入icon图标的方法
2018/06/06 Javascript
解决vue项目router切换太慢问题
2020/07/19 Javascript
python搭建简易服务器分析与实现
2012/12/15 Python
python smtplib模块实现发送邮件带附件sendmail
2018/05/22 Python
Python实现读取机器硬件信息的方法示例
2018/06/09 Python
Python socket模块方法实现详解
2019/11/05 Python
Python的形参和实参使用方式
2019/12/24 Python
Python并发concurrent.futures和asyncio实例
2020/05/04 Python
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
2013/04/24 HTML / CSS
大学毕业的自我鉴定
2013/10/08 职场文书
模具设计与制造专业应届生求职信
2013/10/18 职场文书
服装厂厂长职责
2013/12/16 职场文书
会计岗位职责范本
2014/03/07 职场文书
公司承诺书怎么写
2014/05/24 职场文书
群众路线班子对照检查材料
2014/09/25 职场文书
教师个人培训总结
2015/02/11 职场文书
护士工作心得体会
2016/01/25 职场文书
品德与社会教学反思
2016/02/24 职场文书
门面租赁合同范文
2019/08/06 职场文书
redis复制有可能碰到的问题汇总
2022/04/03 Redis