又一个小巧的图片预加载类


Posted in Javascript onMay 05, 2007
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<HTML> 
<HEAD> 
<TITLE> New Document </TITLE> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
var IE=navigator.appName=="Microsoft Internet Explorer"; 
var Opera=navigator.appName.toLowerCase()=="opera"; 
var FF=!IE && !Opera; 
function LoadImage(arrSrc,callBack) 
{ 
    this.Length=arrSrc.length; 
    this.LoadedLen=0;    //已经被加载的图片个数 
    var self=this; 
    if(self.Length<1) 
    { 
        callBack(arrSrc); 
        return; 
    }     //经测试,OPERA与别的浏览器加载方式不同,所以特别独立开来... 
    if(Opera) 
    { 
        for(var i=0;i<self.Length;i++) 
        { 
            var tmpImg=new Image(); 
            tmpImg.src=arrSrc[i]; 
            tmpImg.onload=function() 
            { 
                self.LoadedLen++; 
                if(self.LoadedLen==self.Length && callBack)    callBack(arrSrc); 
            } 
        } 
        return; 
    } 
    this.Load=function() 
    { 
        self.LoadedLen++; 
        document.getElementById("counter").innerHTML=self.LoadedLen; 
        if(self.LoadedLen<self.Length)    self.DownImg(); 
        else if(callBack)    callBack(arrSrc); 
    } 
    this.DownImg=function() 
    { 
        var tmpImg=new Image(); 
        tmpImg.src=arrSrc[self.LoadedLen]; 
        if(IE) 
        { 
            if(tmpImg.readyState=="complete")    self.Load(); 
            else    tmpImg.onreadystatechange=function() 
            { 
                if(this.readyState=="complete")    self.Load(); 
            } 
        } 
        else    tmpImg.onload=self.Load; 
    } 
    this.DownImg(); 
} 
//--> 
</SCRIPT> 
</HEAD> 
<BODY> 
<div id="counter"></div> 
 <SCRIPT LANGUAGE="JavaScript"> 
 <!-- 
    var arr=['http://photo.hjbbs.com/photo/20060531/20060531103027226_756_o.jpg','http://img1.soufun.com/bbs/2007_02/13/1171345302199.jpeg','http://img.c8c8.cn/2006/09/09/15032/pp20060909002749.jpg']; 
    var t=new LoadImage(arr,function(arr) 
    { 
        var str=""; 
        for(var i=0;i<arr.length;i++) 
        { 
            str+="<img src='"+arr[i]+"' /><br>"; 
        } 
        document.body.innerHTML+=str; 
    }); 
 //--> 
 </SCRIPT> 
</BODY> 
</HTML>
Javascript 相关文章推荐
自适应高度框架 ----属个人收藏内容
Jan 22 Javascript
获得Javascript对象属性个数的示例代码
Nov 21 Javascript
JavaScript获取某年某月的最后一天附截图
Jun 23 Javascript
Jquery动态替换div内容及动态展示的方法
Jan 23 Javascript
Ionic2开发环境搭建教程
Aug 20 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
Jun 17 Javascript
小程序云开发初探(小结)
Oct 24 Javascript
JS简单判断是否在微信浏览器打开的方法示例
Jan 08 Javascript
vuex管理状态 刷新页面保持不被清空的解决方案
Nov 11 Javascript
微信小程序开发中var that =this的用法详解
Jan 18 Javascript
通过实例解析vuejs如何实现调试代码
Jul 16 Javascript
vue-cropper插件实现图片截取上传组件封装
May 27 Vue.js
清华大学出版的事半功倍系列 javascript全部源代码
May 04 #Javascript
用js实现的抽象CSS圆角效果!!
May 03 #Javascript
学习jquery必备 api中英文对照的chm手册 下载
May 03 #Javascript
Packer 3.0 JS压缩及混淆工具 下载
May 03 #Javascript
javascript+dom树型菜单类,希望朋友们一起进步
May 03 #Javascript
几行代码轻松搞定jquery实现flash8类似的连接效果
May 03 #Javascript
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
May 03 #Javascript
You might like
推荐一篇入门级的Class文章
2007/03/19 PHP
PHP5.3与5.5废弃与过期函数整理汇总
2014/07/10 PHP
php使用pdo连接mssql server数据库实例
2014/12/25 PHP
PHP文件上传类实例详解
2016/04/08 PHP
功能强大的php分页函数
2016/07/20 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
2017/09/29 PHP
js 实现无缝滚动 兼容IE和FF
2009/07/15 Javascript
IE8下Jquery获取select选中的值post到后台报错问题
2014/07/02 Javascript
jquery 操作css样式、位置、尺寸方法汇总
2014/11/28 Javascript
javascript字符串替换函数如何一次性全部替换掉
2015/10/30 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
jquery实现垂直和水平菜单导航栏
2020/08/27 Javascript
jQuery实现的右下角广告窗体跟随效果示例
2016/09/16 Javascript
Bootstrap基本组件学习笔记之面板(14)
2016/12/08 Javascript
react-router4 配合webpack require.ensure 实现异步加载的示例
2018/01/18 Javascript
Vue shopCart 组件开发详解
2018/01/26 Javascript
JS实现为动态添加的元素增加事件功能示例【基于事件委托】
2018/03/21 Javascript
Electron实现应用打包、自动升级过程解析
2020/07/07 Javascript
解决vue watch数据的方法被调用了两次的问题
2020/11/07 Javascript
[03:44]2014DOTA2国际邀请赛 71专访:DK战队赛前讨论视频遭泄露
2014/07/13 DOTA
Python中的异常处理学习笔记
2015/01/28 Python
使用Python脚本将Bing的每日图片作为桌面的教程
2015/05/04 Python
详细讲解Python中的文件I/O操作
2015/05/24 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
python脚本调用iftop 统计业务应用流量的思路详解
2019/10/11 Python
python简单利用字典破解zip文件口令
2020/09/07 Python
Wallis官网:英国女装零售商
2020/01/21 全球购物
机械绘图员岗位职责
2013/11/19 职场文书
《雨霖铃》教学反思
2014/02/22 职场文书
教师节标语大全
2014/10/07 职场文书
领导走群众路线整改措施思想汇报
2014/10/12 职场文书
2016年春节慰问信息
2015/03/25 职场文书
爸爸的三轮车观后感
2015/06/16 职场文书
拔河比赛队名及霸气口号
2015/12/24 职场文书
心得体会格式及范文
2016/01/25 职场文书
解决sql server 数据库,sa用户被锁定的问题
2021/06/11 SQL Server