JS判断图片是否加载完成方法汇总(最新版)

作者:纸飞机

时间:2026-10-30

浏览:186

本文汇总了JavaScript中判断图片加载完成的四种常用方法,包括原生load事件、jQuery的load方法、readystatechange事件以及轮询complete属性。详细分析了各方法的优缺点及浏览器兼容性,帮助开发者根据实际需求选择最合适的方案。

文章目录

JS判断图片加载完成方法汇总

在某些场景下,我们需要获取图片的具体尺寸,而这一操作必须在图片资源完全加载后才能执行。为了帮助开发者解决这一问题,下面整理了多种通过JavaScript判断图片是否加载完成的技术方案,供参考使用。

方法一:利用load事件

一、利用load事件


<script type="text/javascript">
$('img').onload = function() {
//code
}
</script> 

该方法的优势在于实现简单,且不会干扰原有的HTML结构。

其局限性在于每次只能针对单个元素进行监听,且相关的JavaScript代码必须放置在图片标签之后执行。

方法二:使用jQuery方法

二、使用jQuery方法


<script type="text/javascript">
$(function(){
$('.pic1').each(function() {
$(this).load(function(){
$(this).fadeIn();
});
});
})
</script> 

需要注意的是,不应在$(document).ready()回调函数内部绑定load事件。

优点:支持对多个元素批量绑定事件监听,且不改变HTML代码结构。 缺点:依赖jQuery库的支持,且相关代码需放置在目标操作元素的下方。

方法三:监听readystatechange事件

三、监听readystatechange事件


<!DOCTYPE HTML>
<html> 
<head> 
<meta charset="utf-">
<title>img - readystatechange event</title>
</head> 
<body>
<img id="img" src="http://pic.win.com/wallpaper/f/cbbaea.jpg">
<p id="p">loading...</p>
<script type="text/javascript">
img.onreadystatechange = function() {
if(img.readyState=="complete"||img.readyState=="loaded"){ 
p.innerHTML = 'readystatechange:loaded'
}
}
</script>
</body>
</html> 

当图片的readyState属性值为complete或loaded时,表示图片已加载完毕。经测试,该事件在IE6至IE10浏览器中有效,但在其他现代浏览器中并不支持。

方法四:检查img的complete属性

四、检查img的complete属性


<!DOCTYPE HTML>
<html> 
<head> 
<meta charset="utf-8">
<title>img - complete attribute</title>
</head> 
<body>
<img id="img1" src="http://pic1.win4000.com/wallpaper/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判断图片加载完成方法的汇总介绍,希望能为读者提供实用帮助,同时也感谢大家对本网站的支持!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章