js如何获取图片宽高


本文摘自PHP中文网,作者coldplay.xixi,侵删。

js获取图片宽高的方法:1、onload后在打印;2、通过complete与onload一起混合使用;3、通过定时循环检测获取,代码为【from:check : width:'+img.width+',height:'+img.heig】。

本教程操作环境:windows7系统、css3版,DELL G3电脑。

js获取图片宽高的方法:

一、简陋的获取图片方式

1

2

3

4

5

6

7

8

9

10

11

// 图片地址 后面加时间戳是为了避免缓存

var img_url = ‘upload/2013/13643608813441.jpg?'+Date.parse(new Date());

   

// 创建对象

var img = new Image();

   

// 改变图片的src

img.src = img_url;

   

// 打印

alert('width:'+img.width+',height:'+img.height);

结果如下:

109d087da84286eb811da24d87acb4d.png

宽高都是0的这个结果很正常,因为图片的相关数据都没有被加载前它的宽高默认就是0 于是可以这么优化!

二、onload后在打印

1

2

3

4

5

6

7

8

9

10

11

12

13

14

// 图片地址 后面加时间戳是为了避免缓存

var img_url = 'upload/2013/13643608813441.jpg?'+Date.parse(new Date());

   

// 创建对象

var img = new Image();

   

// 改变图片的src

img.src = img_url;

   

// 加载完成执行

img.onload = function(){

 // 打印

 alert('width:'+img.width+',height:'+img.height);

};

结果如下

d16fe7f3dba5db55762f5efe8ca202b.png

通过onload就能获取到图片的宽高了。但onload大一点的图通常都比较慢,不实用,但只要图片被浏览器缓存,那么图片加载几乎就不用等待即可触发onload,我们要的是占位符。所以有些人通过缓存获取也可以这么写。

三、通过complete与onload一起混合使用

阅读剩余部分

相关阅读 >>

javascript事件委托的技术原理

javascript的三种注释方式是什么

vue.js框架怎么下载

js如何判断值是否数字

javascript怎么终止循环

javascript怎么实现页面关闭

js如何把html转换成图片格式

javascript如何实现禁止刷新效果

javascript是基于对象的吗

javascript输出方式有哪些

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...