当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 又一个小巧的图片预加载类

Javascript
不是原型继承那么简单!!prototype的深度探索
JavaScript与函数式编程解释
转一个日期输入控件,支持FF
用 JSON 处理缓存
改版了网上的一个js操作userdata
仿服务器端脚本方式的JS模板实现方法
javascript函数库-集合框架
Javascript模板技术
javascript实现的listview效果
JavaScript 实现網頁打印處理
(推荐一个超好的JS函数库)S.Sams Lifexperience ScriptClassLib
实现div可编辑的常见方法总结
js奇偶数判断的代码
可以支持多中格式的JS键盘
javascript静态的url如何传递
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
Packer 3.0 JS压缩及混淆工具 下载
学习jquery必备 api中英文对照的chm手册 下载
用js实现CSS圆角生成更新
用js实现的抽象CSS圆角效果!!

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 72 ::
收藏到网摘: n/a

复制代码 代码如下:

<!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>