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 网页黑白效果实现代码(兼容IE/FF等)
Apr 23 Javascript
javascript实现图片切换的幻灯片效果源代码
Dec 12 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
Nov 12 Javascript
用js正确判断用户名cookie是否存在的方法
Jan 28 Javascript
jquery取消选择select下拉框示例代码
Feb 22 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
Dec 23 Javascript
浅析javaScript中的浅拷贝和深拷贝
Feb 15 Javascript
jQuery操作DOM_动力节点Java学院整理
Jul 04 jQuery
Bootstrap图片轮播效果详解
Oct 17 Javascript
原生js实现简单的焦点图效果实例
Dec 14 Javascript
ionic2.0双击返回键退出应用
Sep 17 Javascript
在elementui中Notification组件添加点击事件实例
Nov 11 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 全文搜索和替换的实现代码
2008/07/29 PHP
IStream与TStream之间的相互转换
2008/08/01 PHP
PHP中date()日期函数有关参数整理
2011/07/19 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
url decode problem 解决方法
2011/12/26 PHP
浅析PHP编程中10个最常见的错误
2014/08/08 PHP
PHP开启opcache提升代码性能
2015/04/26 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
php变量与JS变量实现不通过跳转直接交互的方法
2017/08/25 PHP
php7 新增功能实例总结
2020/05/25 PHP
JSON辅助格式化处理方法
2013/03/26 Javascript
简略说明Javascript中的= =(等于)与= = =(全等于)区别
2013/04/16 Javascript
JavaScript调用后台的三种方法实例
2013/10/17 Javascript
初始Nodejs
2014/11/08 NodeJs
nodejs中操作mysql数据库示例
2014/12/20 NodeJs
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
2016/08/24 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
2017/03/02 Javascript
JavaScript实现简单的四则运算计算器完整实例
2017/04/28 Javascript
Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
2017/12/23 Javascript
浅谈VUE-CLI脚手架热更新太慢的原因和解决方法
2018/09/28 Javascript
Vue组件教程之Toast(Vue.extend 方式)详解
2019/01/27 Javascript
vue中使用elementUI组件手动上传图片功能
2019/12/13 Javascript
Python中应该使用%还是format来格式化字符串
2018/09/25 Python
python生成n个元素的全组合方法
2018/11/13 Python
PyCharm最新激活码(2020/10/27全网最新)
2020/10/27 Python
Python接口自动化测试框架运行原理及流程
2020/11/30 Python
全国道德模范事迹
2014/02/01 职场文书
趣味体育活动方案
2014/02/08 职场文书
2014年维修工作总结
2014/11/22 职场文书
国庆节主题班会
2015/08/15 职场文书
html+css合并表格边框的示例代码
2021/03/31 HTML / CSS
SpringBoot 集成Redis 过程
2021/06/02 Redis
怎么禁用Windows 11快照布局? win11不使用快照布局的技巧
2021/11/21 数码科技
MySQL中rank() over、dense_rank() over、row_number() over用法介绍
2022/03/23 MySQL