JavaScript判断图片是否已经加载完毕的方法汇总

 更新时间:2016年02月05日 11:57:55   作者:淡淡的夏  
在网上有很多关于判断图片是否已经加载完毕的文章,但是有的浏览器并不适合,下面小编给大家分享一些有关JavaScript判断图片是否已经加载完毕的方法汇总,需要的朋友参考下

在网上有很多关于判断图片是否已经加载完毕的文章,但是有的浏览器并不适合,下面小编给大家分享一些有关JavaScript判断图片是否已经加载完毕方法汇总,具体内容如下所示:

一.onload事件

通过监听图片的onload事件,可以判断图片是否已经加载完成,兼容所有的浏览器(w3c推荐方法),代码示例如下

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<img id="img1" src="http://pic1.win4000.com/wallpaper/f/51c3bb99a21ea.jpg" alt="">
<script>
// 方法一:图片已经下载完
document.getElementById('img1').onload = function(e){
e.stopPropagation();
alert(1);
}
</script>
</body>
</html> 

二.判断img对象(DOM)的complete属性

当img加载完成之后,complete对象属性将变为true,代码示例如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<img id="img1" src="http://pic1.win4000.com/wallpaper/f/51c3bb99a21ea.jpg" alt="">
<script>
// 方法二:img的complate属性
var timer = setInterval(function(){
if (document.getElementById('img1').complete){
clearInterval(timer);
alert(1);
console.log(document.getElementById('img1').complete)
}
}, 10);
</script>
</body>
</html> 

亲测该方法同样可兼容所有浏览器

三.onreadystatechange事件

在ie下,img对象与xhr对象一样具有onreadystatechange事件,可以通郭建廷该事件判断图片是否加载完成,代码示例如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<img id="img1" src="http://pic1.win4000.com/wallpaper/f/51c3bb99a21ea.jpg" alt="">
<script>
document.getElementById('img1').onreadystatechange = function() {
if(document.getElementById('img1').readyState=="complete"||document.getElementById('img1').readyState=="loaded"){
alert(1);
}
}
</script>
</body>
</html> 

该方法仅在ie下可用

相关文章

  • 微信小程序实现数字滚动动画

    微信小程序实现数字滚动动画

    这篇文章主要为大家详细介绍了微信小程序实现数字滚动动画,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • javascript简易画板开发

    javascript简易画板开发

    这篇文章主要为大家详细介绍了javascript简易画板开发代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • 一分钟理解js闭包

    一分钟理解js闭包

    一分钟理解js闭包,关于js闭包的内容介绍了很多,本文带着大家快速理解什么是js闭包,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • 基于layui轮播图满屏是高度自适应的解决方法

    基于layui轮播图满屏是高度自适应的解决方法

    今天小编就为大家分享一篇基于layui轮播图满屏是高度自适应的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • HTML+CSS+JS实现的简单应用小案例分享

    HTML+CSS+JS实现的简单应用小案例分享

    这篇文章主要为大家分享四个用HTML+CSS+JS实现的简单应用小案例,有:猜数字、表白墙、切换日夜间模式和待办事项,需要的可以参考一下
    2022-02-02
  • 基于js实现checkbox批量选中操作

    基于js实现checkbox批量选中操作

    这篇文章主要为大家详细介绍了基于js实现checkbox批量选中操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • 终于解决了IE8不支持数组的indexOf方法

    终于解决了IE8不支持数组的indexOf方法

    今天,测试报过来一个js bug, 在IE8下有个js错误,但是在其它浏览器下(Firefox, Chrome, IE9)下面都很正常。后来调试发现原因是在IE8下,js数组没有indexOf方法。
    2013-04-04
  • TypeScript中Map对象使用及Map与字典的区别详解

    TypeScript中Map对象使用及Map与字典的区别详解

    Map对象主要的应用场景在于数据重组和数据储存,下面这篇文章主要给大家介绍了TypeScript中Map对象使用及Map与字典的区别的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • javascript按指定格式输出文件最后更新时间

    javascript按指定格式输出文件最后更新时间

    javascript按指定格式输出文件最后更新时间...
    2007-08-08
  • js实现弹出框的拖拽效果实例代码详解

    js实现弹出框的拖拽效果实例代码详解

    本文通过实例代码给大家介绍了js实现弹出框的拖拽效果,代码简单易懂,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-04-04

最新评论