js 判断图片是否加载完以及实现图片的预下载


Posted in Javascript onAugust 14, 2014

创建一个Image对象,实现图片的预下载,如果图片已经存在于浏览器缓存,直接调用回调函数,使用onload事件可以判断图片是否加载完成

function loadImage(url, callback) { 
var img = new Image(); //创建一个Image对象,实现图片的预下载 
img.src = url; 

if(img.complete) { // 如果图片已经存在于浏览器缓存,直接调用回调函数 
callback.call(img); 
return; // 直接返回,不用再处理onload事件 
} 
img.onload = function () { //图片下载完毕时异步调用callback函数。 
callback.call(img);//将回调函数的this替换为Image对象 
}; 
};
</pre><pre code_snippet_id="395795" snippet_file_name="blog_20140617_3_4709132" name="code" class="html"><pre name="code" class="html"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<title>判断图片是否加载完成</title> 

</head> 
<body> 
<img id="img2" src="images/1.jpg" /> 
</body> 
</html> 
<script language="JavaScript"> 
document.getElementById("img2").onload = function () { 
alert("图片加载已完成"); 
} 
</script>
Javascript 相关文章推荐
javascript new后的constructor属性
Aug 05 Javascript
jQuery操作Select的Option上下移动及移除添加等等
Nov 18 Javascript
javascript if条件判断方法小结
May 17 Javascript
Javascript模拟加速运动与减速运动代码分享
Dec 11 Javascript
node.js中的fs.unlinkSync方法使用说明
Dec 15 Javascript
node.js中的fs.lchmodSync方法使用说明
Dec 16 Javascript
微信小程序 scroll-view组件实现列表页实例代码
Dec 14 Javascript
js事件冒泡与事件捕获详解
Feb 20 Javascript
适合前端Vue开发童鞋的跨平台Weex的使用详解
Oct 16 Javascript
浅析Vue 中的 render 函数
Feb 28 Javascript
JavaScript原生数组函数实例汇总
Oct 14 Javascript
vue使用swiper实现左右滑动切换图片
Oct 16 Javascript
js创建表单元素并使用submit进行提交
Aug 14 #Javascript
使用typeof判断function是否存在于上下文
Aug 14 #Javascript
java、javascript实现附件下载示例
Aug 14 #Javascript
js怎么判断flash swf文件是否加载完毕
Aug 14 #Javascript
Node.js入门教程:在windows和Linux上安装配置Node.js图文教程
Aug 14 #Javascript
JQuery Tips相关(1)----关于$.Ready()
Aug 14 #Javascript
javascript实现获取cookie过期时间的变通方法
Aug 14 #Javascript
You might like
php实现的太平洋时间和北京时间互转的自定义函数分享
2014/08/19 PHP
php脚本运行时的超时机制详解
2016/02/17 PHP
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
javascript学习笔记(十八) 获得页面中的元素代码
2012/06/20 Javascript
JS实现的车标图片提示效果代码
2015/10/10 Javascript
jQuery实现本地预览上传图片功能
2016/01/08 Javascript
关于JavaScript作用域你想知道的一切
2016/02/04 Javascript
EasyUI在表单提交之前进行验证的实例代码
2016/06/24 Javascript
任意Json转成无序列表的方法示例
2016/12/09 Javascript
Nodejs 获取时间加手机标识的32位标识实现代码
2017/03/07 NodeJs
值得分享和收藏的xmlplus组件学习教程
2017/05/05 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
2017/07/24 Javascript
Angular 如何使用第三方库的方法
2018/04/18 Javascript
[44:21]Ti4 循环赛第四日 附加赛NEWBEE vs LGD
2014/07/13 DOTA
[15:46]教你分分钟做大人——沙王
2015/03/11 DOTA
[01:28]一分钟告诉你DOTA2 TI9不朽宝藏Ⅱ中有什么!
2019/07/09 DOTA
[01:02:54]完美世界DOTA2联赛PWL S2 FTD vs GXR 第一场 11.22
2020/11/26 DOTA
Python学习之asyncore模块用法实例教程
2014/09/29 Python
numpy 计算两个数组重复程度的方法
2018/11/07 Python
Python 学习教程之networkx
2019/04/15 Python
Keras预训练的ImageNet模型实现分类操作
2020/07/07 Python
Django 实现图片上传和下载功能
2020/12/31 Python
HTML5 UTF-8 中文乱码的解决方法
2013/11/18 HTML / CSS
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
能否解释一下XSS cookie盗窃是什么意思
2012/06/02 面试题
在校生党员自我评价
2013/09/25 职场文书
预备党员思想汇报范文
2014/01/11 职场文书
特色冷饮店创业计划书
2014/01/28 职场文书
出国留学经济担保书
2014/04/01 职场文书
安全环保标语
2014/06/09 职场文书
行政执法作风整顿剖析材料
2014/10/11 职场文书
长城导游词300字
2015/01/30 职场文书
本溪关门山导游词
2015/02/09 职场文书
幼师辞职信怎么写
2015/02/27 职场文书
pytorch 一行代码查看网络参数总量的实现
2021/05/12 Python
Python中time标准库的使用教程
2022/04/13 Python