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


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 29 Javascript
Javascript中产生固定结果的函数优化技巧
Jan 16 Javascript
jquery ready(fn)事件使用介绍
Aug 21 Javascript
$(&quot;&quot;).click与onclick的区别示例介绍
Sep 25 Javascript
js点击button按钮跳转到另一个新页面
Oct 10 Javascript
基于javascript实现动态显示当前系统时间
Jan 28 Javascript
不能不知道的10个angularjs英文学习网站
Mar 23 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
May 28 Javascript
浅析jQuery 3.0中的Data
Jun 14 Javascript
JS实现去除数组中重复json的方法示例
Dec 21 Javascript
微信公众号服务器验证Token步骤图解
Dec 30 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
Sep 25 Javascript
清华大学出版的事半功倍系列 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
Laravel给生产环境添加监听事件(SQL日志监听)
2017/06/19 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
PHP设计模式入门之迭代器模式原理与实现方法分析
2020/04/26 PHP
记录几个javascript有关的小细节
2007/04/02 Javascript
javascript 拖动表格行实现代码
2011/05/05 Javascript
jquery 插件学习(四)
2012/08/06 Javascript
Knockoutjs快速入门(经典)
2012/12/24 Javascript
深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
2015/03/05 Javascript
JavaScript数据结构与算法之栈与队列
2016/01/29 Javascript
超实用的JavaScript表单代码段
2016/02/26 Javascript
微信小程序 参数传递实例代码
2017/03/20 Javascript
微信小程序商城项目之侧栏分类效果(1)
2017/04/17 Javascript
基于代数方程库Algebra.js解二元一次方程功能示例
2017/06/09 Javascript
vue里面使用mui的弹出日期选择插件实例
2018/09/16 Javascript
vuex存储token示例
2019/11/11 Javascript
小程序实现按下录音松开识别语音
2019/11/22 Javascript
详解JavaScript 的执行机制
2020/09/18 Javascript
python使用win32com在百度空间插入html元素示例
2014/02/20 Python
浅谈django model postgres的json字段编码问题
2018/01/05 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
2020/04/23 Python
python中virtualenvwrapper安装与使用
2018/05/20 Python
python 执行文件时额外参数获取的实例
2018/12/18 Python
python创造虚拟环境方法总结
2019/03/04 Python
Python实现二叉树的最小深度的两种方法
2019/09/30 Python
python装饰器原理与用法深入详解
2019/12/19 Python
美国高端牛仔品牌:Silver Jeans
2019/12/12 全球购物
创业计划书模版
2014/02/05 职场文书
学校火灾防控方案
2014/06/09 职场文书
《中国梦我的梦》中学生演讲稿
2014/08/20 职场文书
办理信用卡收入证明范例
2014/09/13 职场文书
新婚姻法离婚协议书范文
2014/11/30 职场文书
打架检讨书范文
2015/01/27 职场文书
导游词开场白
2015/01/31 职场文书
父亲去世追悼词
2015/06/23 职场文书
开学第一周值周总结
2015/07/16 职场文书
一文搞懂php的垃圾回收机制
2021/06/18 PHP