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 相关文章推荐
jquery ajax abort()的使用方法
Oct 28 Javascript
jQuery EasyUI API 中文文档 - Tree树使用介绍
Nov 19 Javascript
表单提交前触发函数返回true表单才会提交
Mar 11 Javascript
深入探讨JavaScript String对象
Mar 09 Javascript
自动化测试读写64位操作系统的注册表
Aug 15 Javascript
JavaScript常用正则函数用法示例
Jan 23 Javascript
走进javascript——不起眼的基础,值和分号
Feb 24 Javascript
微信JS-SDK选取手机照片上传功能
Apr 21 Javascript
vue+axios实现登录拦截的实例代码
May 22 Javascript
react router 4.0以上的路由应用详解
Sep 21 Javascript
基于 vue-skeleton-webpack-plugin 的骨架屏实战
Aug 05 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
Nov 01 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
玩家交还《星际争霸》原始码光盘 暴雪报以厚礼
2017/05/05 星际争霸
php中通过数组进行高效随机抽取指定条记录的算法
2013/09/09 PHP
PHP类的特性实例分析
2016/09/28 PHP
YII2框架中actions的作用与使用方法示例
2020/03/13 PHP
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
基于jQuery选择器的整理集合
2013/04/26 Javascript
jQuery解析XML文件同时动态增加js文件的方法
2015/06/01 Javascript
Ajax中解析Json的两种方法对比分析
2015/06/25 Javascript
js判断手机端(Android手机还是iPhone手机)
2015/07/22 Javascript
JS遍历数组及打印数组实例分析
2016/01/21 Javascript
JQuery在循环中绑定事件的问题详解
2016/06/02 Javascript
node.js 动态执行脚本
2016/06/02 Javascript
谈谈因Vue.js引发关于getter和setter的思考
2016/12/02 Javascript
Angular的$http的ajax的请求操作(推荐)
2017/01/10 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
js模块加载方式浅析
2017/08/12 Javascript
jQueryUI Sortable 应用Demo(分享)
2017/09/07 jQuery
webpack多入口文件页面打包配置详解
2018/01/09 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
如何构建 vue-ssr 项目的方法步骤
2020/08/04 Javascript
vue实现几秒后跳转新页面代码
2020/09/09 Javascript
[04:51]TI10典藏宝瓶Ⅱ外观视频展示
2020/08/15 DOTA
Python使用内置json模块解析json格式数据的方法
2017/07/20 Python
解决python写入mysql中datetime类型遇到的问题
2018/06/21 Python
Python3+Requests+Excel完整接口自动化测试框架的实现
2019/10/11 Python
keras获得model中某一层的某一个Tensor的输出维度教程
2020/01/24 Python
Python为何不支持switch语句原理详解
2020/10/21 Python
Html5导航栏吸顶方案原理与对比实现
2020/06/10 HTML / CSS
Html5之webcoekt播放JPEG图片流
2020/09/22 HTML / CSS
Foreo国际站:Foreo International
2018/10/29 全球购物
个人简历自我评价范文
2014/02/04 职场文书
餐饮店长岗位职责
2015/04/14 职场文书
2016习总书记系列重要讲话心得体会
2016/01/15 职场文书
六五普法学习心得体会
2016/01/21 职场文书