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 Event学习补遗 addEventSimple
Feb 11 Javascript
原生javascript实现隔行换色
Jan 04 Javascript
jQuery使用之设置元素样式用法实例
Jan 19 Javascript
JavaScript中Promise的使用详解
Feb 26 Javascript
使用jquery datatable和bootsrap创建表格实例代码
Mar 17 Javascript
JavaScript数据结构之二叉树的计数算法示例
Apr 13 Javascript
Thinkjs3新手入门之如何使用静态资源目录
Dec 06 Javascript
解决微信小程序防止无法回到主页的问题
Sep 28 Javascript
ES6知识点整理之模块化的应用详解
Apr 15 Javascript
node.js实现带进度条的多文件上传
Mar 27 Javascript
JS FormData对象使用方法实例详解
Feb 12 Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
Jul 20 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 出现乱码和Sessions验证问题的解决方法!
2008/12/06 PHP
比较strtr, str_replace和preg_replace三个函数的效率
2013/06/26 PHP
php从memcache读取数据再批量写入mysql的方法
2014/12/29 PHP
php绘制一条直线的方法
2015/01/24 PHP
Laravel框架查询构造器 CURD操作示例
2019/09/04 PHP
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
javascript学习(一)构建自己的JS库
2013/01/02 Javascript
js 获取radio按钮值的实例
2013/08/17 Javascript
jquery中交替点击事件toggle方法的使用示例
2013/12/08 Javascript
Js操作树节点自动折叠展开的几种方法
2014/05/05 Javascript
JavaScript更改原始对象valueOf的方法
2015/03/19 Javascript
原生js和jquery实现图片轮播淡入淡出效果
2015/04/23 Javascript
js实现获取当前时间是本月第几周的方法
2015/08/11 Javascript
Bootstrap登陆注册页面开发教程
2016/07/12 Javascript
JavaScript简单获取系统当前时间完整示例
2016/08/02 Javascript
JavaScript使用小插件实现倒计时的方法讲解
2019/03/11 Javascript
微信小程序 调用微信授权窗口相关问题解决
2019/07/25 Javascript
详解Java中String JSONObject JSONArray List转换
2020/11/13 Javascript
nestjs返回给前端数据格式的封装实现
2021/02/22 Javascript
简单谈谈Python中函数的可变参数
2016/09/02 Python
MAC中PyCharm设置python3解释器
2017/12/15 Python
浅谈机器学习需要的了解的十大算法
2017/12/15 Python
python print 按逗号或空格分隔的方法
2018/05/02 Python
python多进程提取处理大量文本的关键词方法
2018/06/05 Python
python实现根据文件关键字进行切分为多个文件的示例
2018/12/10 Python
Python基于opencv调用摄像头获取个人图片的实现方法
2019/02/21 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
利用python实现短信和电话提醒功能的例子
2019/08/08 Python
python数据化运营的重要意义
2019/11/25 Python
Python3中的f-Strings增强版字符串格式化方法
2020/03/04 Python
如何找出EMP表里面SALARY第N高的employee
2013/12/05 面试题
七年级生物教学反思
2014/01/30 职场文书
销售内勤岗位职责
2014/04/15 职场文书
2014年房产经纪人工作总结
2014/12/08 职场文书
Redis中缓存穿透/击穿/雪崩问题和解决方法
2021/12/04 Redis