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


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 相关文章推荐
jQuery $.get 的妙用 访问本地文本文件
Jul 12 Javascript
Jquery显示、隐藏元素以及添加删除样式
Aug 09 Javascript
jQery使网页在显示器上居中显示适用于任何分辨率
Jun 09 Javascript
JavaScript利用正则表达式去除日期中的“-”
Jul 01 Javascript
jQuery操作DOM之获取表单控件的值
Jan 23 Javascript
基于JavaScript实现轮播图代码
Jul 14 Javascript
JS简单实现表格排序功能示例
Dec 20 Javascript
微信小程序封装http访问网络库实例代码
May 24 Javascript
javaScript canvas实现(画笔大小 颜色 橡皮的实例)
Nov 28 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
Feb 05 Javascript
微信小程序关键字变色实现代码实例
Dec 13 Javascript
Vuex的热更替如何实现
Jun 05 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
关于时间计算的结总
2006/12/06 PHP
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
$_GET['goods_id']+0 的使用详解
2013/06/06 PHP
PHP打开和关闭文件操作函数总结
2014/11/18 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
php中preg_replace_callback函数简单用法示例
2016/07/21 PHP
php批量修改表结构实例
2017/05/24 PHP
PHP全局使用Laravel辅助函数dd
2019/12/26 PHP
Mootools 1.2教程 正则表达式
2009/09/15 Javascript
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
有趣的javascript数组定义方法
2010/09/10 Javascript
JavaScript中iframe实现局部刷新的几种方法汇总
2016/01/06 Javascript
Highcharts学习之数据列
2016/08/03 Javascript
BootStrap下拉菜单和滚动监听插件实现代码
2016/09/26 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
微信小程序中子页面向父页面传值实例详解
2017/03/20 Javascript
bootstrap suggest搜索建议插件使用详解
2017/03/25 Javascript
全面解析vue router 基本使用(动态路由,嵌套路由)
2018/09/02 Javascript
自己动手封装一个React Native多级联动
2018/09/19 Javascript
微信小程序实现禁止分享代码实例
2019/10/19 Javascript
Python编写的com组件发生R6034错误的原因与解决办法
2013/04/01 Python
详解设计模式中的工厂方法模式在Python程序中的运用
2016/03/02 Python
深入解析Python的Tornado框架中内置的模板引擎
2016/07/11 Python
Python查询IP地址归属完整代码
2017/06/21 Python
Django中ORM表的创建和增删改查方法示例
2017/11/15 Python
python基础教程项目二之画幅好画
2018/04/02 Python
Python 数值区间处理_对interval 库的快速入门详解
2018/11/16 Python
使用Python进行中文繁简转换的实现代码
2019/10/18 Python
关于sys.stdout和print的区别详解
2019/12/05 Python
英国汽车和货车租赁网站:Hertz英国
2016/09/02 全球购物
香蕉共和国加拿大官网:Banana Republic加拿大
2018/08/06 全球购物
static关键字的用法
2013/10/07 面试题
廉洁自律演讲稿
2014/05/22 职场文书
面试自我评价范文
2014/09/17 职场文书
针对吵架老公保证书
2015/05/08 职场文书
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS