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


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 相关文章推荐
ExtJS 2.0实用简明教程 之Border区域布局
Apr 29 Javascript
js改变Iframe中Src的方法
May 05 Javascript
jQuery使用ajax跨域获取数据的简单实例
May 18 Javascript
jQuery鼠标事件总结
Oct 13 Javascript
jQuery的 $.ajax防止重复提交的两种方法(推荐)
Oct 14 Javascript
JS中去掉array中重复元素的方法
May 26 Javascript
C#实现将一个字符转换为整数
Dec 12 Javascript
jQuery实现左右滑动的toggle方法
Mar 03 jQuery
vue加载自定义的js文件方法
Mar 13 Javascript
vue-cli3.0 脚手架搭建项目的过程详解
Oct 19 Javascript
vue项目使用.env文件配置全局环境变量的方法
Oct 24 Javascript
Vue基于localStorage存储信息代码实例
Nov 16 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小偷程序)
2014/08/23 PHP
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
2016/01/12 PHP
php版微信公众平台接口开发之智能回复开发教程
2016/09/22 PHP
一个用js实现的页内搜索代码
2007/05/23 Javascript
推荐40款强大的 jQuery 导航插件和教程(上篇)
2012/09/14 Javascript
教你用jquery实现iframe自适应高度
2014/06/11 Javascript
IE中JS跳转丢失referrer问题的2个解决方法
2014/07/18 Javascript
JavaScript对象之深度克隆介绍
2014/12/08 Javascript
jQuery热气球动画半透明背景的后台登录界面代码分享
2015/08/28 Javascript
快速掌握WordPress中加载JavaScript脚本的方法
2015/12/17 Javascript
jQuery+css实现的tab切换标签(兼容各浏览器)
2016/01/28 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
浅谈json取值(对象和数组)
2016/06/24 Javascript
浅谈Javascript中的12种DOM节点类型
2016/08/19 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
AngularJS中的拦截器实例详解
2017/04/07 Javascript
微信小程序调用PHP后台接口 解析纯html文本
2017/06/13 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
layer设置maxWidth及maxHeight解决方案
2019/07/26 Javascript
[25:59]Newbee vs TNC 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python登陆asp网站页面的实现代码
2015/01/14 Python
Python实现对百度云的文件上传(实例讲解)
2017/10/21 Python
pytorch cnn 识别手写的字实现自建图片数据
2018/05/20 Python
将Dataframe数据转化为ndarry数据的方法
2018/06/28 Python
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
Python 计算任意两向量之间的夹角方法
2019/07/05 Python
Python 如何提高元组的可读性
2019/08/26 Python
Ubuntu中配置TensorFlow使用环境的方法
2020/04/21 Python
python中wheel的用法整理
2020/06/15 Python
python unichr函数知识点总结
2020/12/16 Python
Camper鞋西班牙官方网上商店:西班牙马略卡岛的鞋类品牌
2019/03/14 全球购物
皇家阿尔伯特英国官方商店:Royal Albert骨瓷
2019/03/25 全球购物
2014年国培研修感言
2014/03/09 职场文书
还款承诺书范本
2015/01/20 职场文书
医学生自荐信范文
2015/03/05 职场文书
2015年度培训工作总结范文
2015/04/02 职场文书