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


Posted in Javascript onFebruary 05, 2016

在网上有很多关于判断图片是否已经加载完毕的文章,但是有的浏览器并不适合,下面小编给大家分享一些有关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下可用

Javascript 相关文章推荐
javascript管中窥豹 形参与实参浅析
Dec 17 Javascript
jquery索引在使用中的一些困惑
Oct 24 Javascript
使用Browserify配合jQuery进行编程的超级指南
Jul 28 Javascript
基于jQuery的Web上传插件Uploadify使用示例
May 19 Javascript
JavaScript ES6中export、import与export default的用法和区别
Mar 14 Javascript
ES6新特性一: let和const命令详解
Apr 20 Javascript
socket.io学习教程之深入学习篇(三)
Apr 29 Javascript
微信小程序 检查接口状态实例详解
Jun 23 Javascript
JS数组去重常用方法实例小结【4种方法】
May 28 Javascript
vue实现图片按比例缩放问题操作
Aug 11 Javascript
Vuejs通过拖动改变元素宽度实现自适应
Sep 02 Javascript
详解vue中在父组件点击按钮触发子组件的事件
Nov 13 Javascript
jquery实现的判断倒计时是否结束代码
Feb 05 #Javascript
AngularJs中route的使用方法和配置
Feb 04 #Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
Feb 04 #Javascript
分享我对JS插件开发的一些感想和心得
Feb 04 #Javascript
关于JavaScript作用域你想知道的一切
Feb 04 #Javascript
Node.js重新刷新session过期时间的方法
Feb 04 #Javascript
jquery操作select元素和option的实例代码
Feb 03 #Javascript
You might like
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
2013/09/28 PHP
php实现可以设置中奖概率的抽奖程序代码分享
2014/01/19 PHP
php使用unset()删除数组中某个单元(键)的方法
2015/02/17 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
取得一定长度的内容,处理中文
2006/12/20 Javascript
dojo 之基础篇(三)之向服务器发送数据
2007/03/24 Javascript
Javascript入门学习资料收集整理篇
2008/07/06 Javascript
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
2009/03/21 Javascript
12款经典的白富美型—jquery图片轮播插件—前端开发必备
2013/01/08 Javascript
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
javascript中Date对象的getDay方法使用指南
2014/12/22 Javascript
Javascript实现基本运算器
2017/07/15 Javascript
AngularJS中使用three.js的实例详解
2017/07/21 Javascript
Vue Extends 扩展选项用法完整实例
2019/09/17 Javascript
微信小程序3D轮播实现代码
2019/09/19 Javascript
javascript History对象原理解析
2020/02/17 Javascript
利用 JavaScript 实现并发控制的示例代码
2020/12/31 Javascript
python实现字典(dict)和字符串(string)的相互转换方法
2017/03/01 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
python中 * 的用法详解
2019/07/10 Python
python错误调试及单元文档测试过程解析
2019/12/19 Python
pytorch 状态字典:state_dict使用详解
2020/01/17 Python
浅析python 定时拆分备份 nginx 日志的方法
2020/04/27 Python
python“静态”变量、实例变量与本地变量的声明示例
2020/11/13 Python
python如何构建mock接口服务
2021/01/28 Python
面向中国市场的在线海淘美妆零售网站:Beauty House美丽屋
2021/03/02 全球购物
教师党性分析材料
2014/02/04 职场文书
妈妈的账单教学反思
2014/02/06 职场文书
竞争性谈判邀请书
2014/02/06 职场文书
初中高效课堂实施方案
2014/02/26 职场文书
竞聘演讲稿
2014/04/24 职场文书
小学校园广播稿集锦
2014/10/04 职场文书
工作疏忽检讨书500字
2014/10/26 职场文书
2014年财政工作总结
2014/12/10 职场文书
六五普法心得体会2016
2016/01/21 职场文书
MySQL配置主从服务器(一主多从)
2021/08/07 MySQL