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 相关文章推荐
jquery在IE、FF浏览器的差别详细探讨
Apr 28 Javascript
node.js中的fs.fchmodSync方法使用说明
Dec 16 Javascript
jQuery实现带滚动线条导航效果的方法
Jan 30 Javascript
JQuery标签页效果实例详解
Dec 24 Javascript
js获取当前日期时间及其它日期操作汇总
Mar 08 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
Jul 12 Javascript
Vue2组件tree实现无限级树形菜单
Mar 29 Javascript
vue下跨域设置的相关介绍
Aug 26 Javascript
vue router学习之动态路由和嵌套路由详解
Sep 21 Javascript
Vue官方文档梳理之全局配置
Nov 22 Javascript
浅谈Node框架接入ELK实践总结
Feb 22 Javascript
react-native 实现购物车滑动删除效果的示例代码
Jan 15 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中读写文件与读写数据库的效率比较分享
2013/10/19 PHP
PHP 读取和编写 XML
2014/11/19 PHP
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
js post方式传递提交的实现代码
2010/05/31 Javascript
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
nodejs命令行参数处理模块commander使用实例
2014/09/17 NodeJs
jQuery插件Validate实现自定义校验结果样式
2016/01/18 Javascript
完善的jquery处理机制
2016/02/21 Javascript
JavaScript动态生成二维码图片
2016/04/20 Javascript
仿百度换肤功能的简单实例代码
2016/07/11 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
2017/01/17 Javascript
原生JS仿QQ阅读点击展开、收起效果
2017/03/08 Javascript
详解Vue学习笔记入门篇之组件的内容分发(slot)
2017/07/17 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
2017/11/02 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
[01:00:30]TFT vs VGJ.T Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
[38:42]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第二场 11.05
2020/11/05 DOTA
python代码检查工具pylint 让你的python更规范
2012/09/05 Python
python解决Fedora解压zip时中文乱码的方法
2016/09/18 Python
selenium与xpath之获取指定位置的元素的实现
2021/01/26 Python
中国电视购物:快乐购
2017/02/04 全球购物
英国第一的购买便宜玩具和游戏的在线购物网站:Bargain Max
2018/01/24 全球购物
某科技软件测试面试题
2013/05/19 面试题
工作过失检讨书
2014/02/23 职场文书
庆六一活动总结
2014/08/29 职场文书
英语课前三分钟演讲稿(6篇)
2014/09/13 职场文书
PHP 对接美团大众点评团购券(门票)的开发步骤
2021/04/03 PHP
go 实现简易端口扫描的示例
2021/05/22 Golang
python 批量压缩图片的脚本
2021/06/02 Python
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python
Ruby处理YAML和json数据
2022/04/18 Ruby
windows11选中自动复制怎么开启? Win11自动复制所选内容的方法
2022/07/23 数码科技