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


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 相关文章推荐
Prototype RegExp对象 学习
Jul 19 Javascript
深入理解JavaScript系列(15) 函数(Functions)
Apr 12 Javascript
js鼠标点击图片实现随机变换图片的方法
Feb 16 Javascript
JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
Apr 22 Javascript
js实现表单Radio切换效果的方法
Aug 17 Javascript
Javascript 判断两个IP是否在同一网段实例代码
Nov 28 Javascript
浅谈Javascript事件对象
Feb 05 Javascript
JS常见算法详解
Feb 28 Javascript
使用javaScript实现鼠标拖拽事件
Apr 03 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
Oct 31 Javascript
javaScript实现游戏倒计时功能
Nov 17 Javascript
IDEA安装vue插件图文详解
Sep 26 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
PHP iconv()函数字符编码转换的问题讲解
2019/03/22 PHP
如何用javascript控制上传文件的大小
2006/10/26 Javascript
javascript间隔刷新的简单实例
2013/11/14 Javascript
js数组中如何随机取出一个值
2014/06/13 Javascript
js中自定义方法实现停留几秒sleep
2014/07/11 Javascript
javascript修改图片src的方法
2015/01/27 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
每天一篇javascript学习小结(Boolean对象)
2015/11/12 Javascript
详解nodejs 文本操作模块-fs模块(二)
2016/12/22 NodeJs
深入理解javascript的getTime()方法
2017/02/16 Javascript
jQuery插件zTree实现获取当前选中节点在同级节点中序号的方法
2017/03/08 Javascript
Require.js的基本用法详解
2017/07/03 Javascript
详谈javascript精度问题与调整
2017/07/08 Javascript
3种vue路由传参的基本模式
2018/02/22 Javascript
Vuex 快速入门(简单易懂)
2018/09/20 Javascript
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
2019/05/05 Javascript
[01:03:36]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第二场 1月26日
2021/03/11 DOTA
Python编程入门之Hello World的三种实现方式
2015/11/13 Python
Python实现PS滤镜的旋转模糊功能示例
2018/01/20 Python
python中的随机函数小结
2018/01/27 Python
Python实现XML文件解析的示例代码
2018/02/05 Python
Python中的单行、多行、中文注释方法
2018/07/19 Python
Django 源码WSGI剖析过程详解
2019/08/05 Python
Python中*args和**kwargs的区别详解
2019/09/17 Python
详解基于python-django框架的支付宝支付案例
2019/09/23 Python
Python逐行读取文件内容的方法总结
2020/02/14 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
2020/11/18 Python
Python获取指定网段正在使用的IP
2020/12/14 Python
Python如何实现感知器的逻辑电路
2020/12/25 Python
css3进行截取替代js的substring
2013/09/02 HTML / CSS
意大利大型购物中心:Oliviero.it
2017/10/19 全球购物
2014年保险公司工作总结
2014/11/22 职场文书
员工聘用合同范本
2015/09/21 职场文书
竞选稿之小学班干部
2019/10/31 职场文书
导游词之任弼时故居
2020/01/07 职场文书