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 个人笔记(没有整理,很乱)
Jul 07 Javascript
Jquery全选与反选点击执行一次的解决方案
Aug 14 Javascript
AngularJS基础 ng-selected 指令简单示例
Aug 03 Javascript
HTML页面,测试JS对C函数的调用简单实例
Aug 09 Javascript
JavaScript中const、var和let区别浅析
Oct 11 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
Feb 09 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
Mar 02 Javascript
纯JS单页面赛车游戏制作代码分享
Mar 03 Javascript
实例分析JS与Node.js中的事件循环
Dec 12 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
Apr 05 Javascript
Angular ElementRef简介及其使用
Oct 01 Javascript
vue@cli3项目模板怎么使用public目录下的静态文件
Jul 07 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文件缓存类实现代码
2015/10/26 PHP
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
2015/12/17 PHP
PHP设计模式之工厂模式与单例模式
2016/09/28 PHP
PHP实现驼峰样式字符串(首字母大写)转换成下划线样式字符串的方法示例
2017/08/10 PHP
PHP如何获取Cookie并实现模拟登录
2020/07/16 PHP
jQuery实现的多滑动门,多选项卡效果代码
2016/03/28 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
2016/05/24 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
2016/06/10 Javascript
JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
2016/08/19 Javascript
实例解析ES6 Proxy使用场景介绍
2018/01/08 Javascript
微信小程序实现收藏与取消收藏切换图片功能
2018/08/03 Javascript
JS实现简单日历特效
2020/01/03 Javascript
[04:19]DOTA2完美大师赛第四天精彩集锦
2017/11/26 DOTA
python连接oracle数据库实例
2014/10/17 Python
python使用Flask框架获取用户IP地址的方法
2015/03/21 Python
python实现发送邮件功能
2017/07/22 Python
用matplotlib画等高线图详解
2017/12/14 Python
利用Python代码实现数据可视化的5种方法详解
2018/03/25 Python
python实现梯度下降算法
2020/03/24 Python
对Python正则匹配IP、Url、Mail的方法详解
2018/12/25 Python
Python3日期与时间戳转换的几种方法详解
2019/06/04 Python
python实现串口自动触发工作的示例
2019/07/02 Python
Django的models中on_delete参数详解
2019/07/16 Python
django 简单实现登录验证给你
2019/11/06 Python
css3实现超炫风车特效
2014/11/12 HTML / CSS
CSS3实现滚动条动画效果代码分享
2016/08/03 HTML / CSS
HTML5录音实践总结(Preact)
2020/05/07 HTML / CSS
Book Depository欧盟:一家领先的国际图书零售商
2019/05/21 全球购物
Groupon荷兰官方网站:高达70%的折扣
2019/11/01 全球购物
美国排名第一的葡萄酒俱乐部:Firstleaf Wine Club
2020/01/02 全球购物
理工大学毕业生自荐信范文
2014/02/22 职场文书
公司爱心捐款倡议书
2014/05/14 职场文书
环保倡议书300字
2014/05/15 职场文书
党支部培养考察意见
2015/06/02 职场文书
TS 类型收窄教程示例详解
2022/09/23 Javascript