JavaScript怎么判断图片是否加载完成以便获取其尺寸

有时需要获取图片的尺寸,这需要在图片加载完成以后才可以,求方法?

一、load事件
复制代码 代码如下:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>img - load event</title>
</head>
<body>
<img id="img1" src="http://pic1.xxx.com/wall/f/51c3bb99a21ea.jpg">
<p id="p1">loading...</p>
<script type="text/javascript">
img1.onload = function() {
p1.innerHTML = 'loaded'
}
</script>
</body>
</html>

测试,所有浏览器都显示出了“loaded”,说明所有浏览器都支持img的load事件。

二、readystatechange事件
复制代码 代码如下:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>img - readystatechange event</title>
</head>
<body>
<img id="img1" src="http://pic1.xxx.com/wall/f/51c3bb99a21ea.jpg">
<p id="p1">loading...</p>
<script type="text/javascript">
img1.onreadystatechange = function() {
if(img1.readyState=="complete"||img1.readyState=="loaded"){
p1.innerHTML = 'readystatechange:loaded'
}
}
</script>
</body>
</html>

readyState为complete和loaded则表明图片已经加载完毕。测试IE6-IE10支持该事件,其它浏览器不支持。

三、img的complete属性
复制代码 代码如下:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>img - complete attribute</title>
</head>
<body>
<img id="img1" src="http://pic1.xxx.com/wall/f/51c3bb99a21ea.jpg">
<p id="p1">loading...</p>
<script type="text/javascript">
function imgLoad(img, callback) {
var timer = setInterval(function() {
if (img.complete) {
callback(img)
clearInterval(timer)
}
}, 50)
}
imgLoad(img1, function() {
p1.innerHTML('加载完毕')
})
</script>
</body>
</html>

轮询不断监测img的complete属性,如果为true则表明图片已经加载完毕,停止轮询。该属性所有浏览器都支持。

您可能感兴趣的文章:

  • JS判断图片是否加载完成方法汇总(最新版)
  • 关于JS判断图片是否加载完成且获取图片宽度的方法
  • js实现图片在未加载完成前显示加载中字样
  • js或者jquery判断图片是否加载完成实现代码
  • js判断图片加载完成后获取图片实际宽高的方法
  • 使用JavaScript判断图片是否加载完成的三种实现方式
  • JavaScript控制图片加载完成后调用回调函数的方法
  • JavaScript实现判断图片是否加载完成的3种方法整理
  • javascript判断图片是否加载完成的方法推荐
  • JS实现判断图片是否加载完成的方法分析

相关推荐:

Python怎么读取图片尺寸_Pillow(PIL)库Image.open属性

Image.open()惰性加载,.size首次访问才解析尺寸并可能抛错;返回(width,height)元组,需try/except捕获并close()释放资源。 Image.open()本身不读取尺寸,必须调用.size才能拿到宽高 很多人以为Image.open()返回对象时就“加载完所有元数...

PHPThumb处理图片,生成缩略图,图片尺寸调整,图片截取,图片加水印,图片旋转

【强烈推荐】下载地址(github.com/masterexploder/PHPThumb)。 注意这个类库有一个重名的叫phpThumb,只是大小写的差别,所以查找文档的时候千万注意。 在网站建设过程中,需要处理图片的地方多不胜数,用PHP的图片函数处理图片,十分繁琐。而且对新手来讲十分不好掌握。...

Windows Phone 解析图片尺寸之bmp

  前面介绍了WindowsPhone解析图片尺寸之gif,之前也介绍了jpg和png图片的相关解析。WindowsPhone系统支持的图片格式是jpg和png,所以bmp图片的现实同gif图片显示的处理方式类似,同样需要采用第三方类库ImageTools,其中ImageTools的获取在gif图片...

卷积层和池化层之后图片尺寸改变

最近碰到的总是TF中的参数问题,其中一个padding的参数值设置觉得比较重要。tf中padding提供两种填充方式:VALID和SAME。 对于VALID,输出的形状计算如下: 对于SAME,输出的形状计算如下: 其中,WW为输入的size,F为filter的size,S为步长,向上取整。 因为网...

cdr导出jpg图片尺寸不对宽度和高度均为0?

cdr导出jpg图片时,输出时的宽度和高度是零数字???解决这个问题的途径如下: 1、如下图,此证书是a4标准页面大小,框选当前图片所有图片,点击导出,如下图: 2、在出现打印预览窗口后,奇怪的现象出现了,输出的宽度和高度为0,明明是有尺寸大小的呀? 3、原来问题出现在编辑时的小问题,大家不注意会一...

Fireworks怎么把图片尺寸变小呢?

把照片的内存变小,实际是通过压缩照片的品质和大小来实现的,下面为大家介绍fireworks怎么把图片尺寸变小方法,一起来学习吧! 步骤: 打开fireworks,如果是处理一张照片的话,就直接打开该照片,在照片旁边的灰色空白处点一下鼠标左键,属性面板就在下面显示出来: 点击属性面板的“图...

Fireworks快速修改图片尺寸大小

fireworks怎么修改图片尺寸,fireworks之前是网页三剑客之一,后来大家都用ps了,其实fireworks很错,下面我们一起来看看吧! 步骤: 1、首先我们来到fireworks根目录 2、直接运行我们的软件 3、我首先打开一个图片吧 4、这个尺寸比较大,怎么修改呢 5、我们点击修改画布...