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扩展运算符的10种用法(总结)

javascript是一种运行在什么语言

javascript中的关键字有哪些

javascript如何输入数据

javascript主要有哪些数据类型

详细了解javascript中的数据类型

浅谈前端的正则表达式

深入讨论javascript中set对象如何让代码更快

vue如何实现数字滚动增加效果?代码示例

javascript怎么设置滚动条高度

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




打赏

取消

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

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

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

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

评论

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