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 相关文章推荐
三种取消选中单选框radio的方法
Sep 09 Javascript
7个去伪存真的JavaScript面试题
Jan 07 Javascript
漫谈JS引擎的运行机制 你应该知道什么
Jun 15 Javascript
深入理解JavaScript中的并行处理
Sep 22 Javascript
值得分享的bootstrap table实例
Sep 22 Javascript
利用node.js如何搭建一个简易的即时响应服务器
May 28 Javascript
详解auto-vue-file:一个自动创建vue组件的包
Apr 26 Javascript
vue如何获取自定义元素属性参数值的方法
May 14 Javascript
深入理解JS异步编程-Promise
Jun 03 Javascript
vue日历/日程提醒/html5本地缓存功能
Sep 02 Javascript
vue滚动插件better-scroll使用详解
Oct 18 Javascript
Javascript中async与await的捕捉错误详解
Mar 03 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 cookie 登录验证示例代码
2009/03/16 PHP
Smarty Foreach 使用说明
2010/03/23 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
2011/07/23 PHP
php摘要生成函数(无乱码)
2012/02/04 PHP
深入php数据采集的详解
2013/06/02 PHP
php微信公众号开发之简答题
2018/10/20 PHP
jquery 插件 任意位置浮动固定层
2008/12/25 Javascript
jQuery 性能优化指南(2)
2009/05/21 Javascript
javascript iframe内的函数调用实现方法
2009/07/19 Javascript
Jquery中给animation加更多的运作效果实例
2013/09/05 Javascript
JavaScript检测实例属性, 原型属性
2015/02/04 Javascript
js实现当前输入框高亮显示的方法
2015/08/19 Javascript
jQuery EasyUI菜单与按钮详解
2016/07/13 Javascript
footer定位页面底部(代码分享)
2017/03/07 Javascript
Vuejs中使用markdown服务器端渲染的示例
2017/11/22 Javascript
JS前端知识点 运算符优先级,URL编码与解码,String,Math,arguments操作整理总结
2019/06/27 Javascript
搭建一个nodejs脚手架的方法步骤
2019/06/28 NodeJs
详解Django通用视图中的函数包装
2015/07/21 Python
Python导入模块时遇到的错误分析
2017/08/30 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
Python处理中文标点符号大集合
2018/05/14 Python
python获取本机所有IP地址的方法
2018/12/26 Python
PyQt5笔记之弹出窗口大全
2019/06/20 Python
django的csrf实现过程详解
2019/07/26 Python
Python使用Selenium实现淘宝抢单的流程分析
2020/06/23 Python
Python 通过正则表达式快速获取电影的下载地址
2020/08/17 Python
详解pycharm自动import所需的库的操作方法
2020/11/30 Python
利用python爬取有道词典的方法
2020/12/08 Python
建筑公司员工自我鉴定
2014/04/08 职场文书
指导教师评语
2014/04/26 职场文书
学习方法演讲稿
2014/05/10 职场文书
2015会计试用期工作总结
2014/12/12 职场文书
红楼梦读书笔记
2015/06/25 职场文书
Pytorch中的学习率衰减及其用法详解
2021/06/05 Python
MySQL GRANT用户授权的实现
2021/06/18 MySQL
讲解MySQL增删改操作
2022/05/06 MySQL