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

Javascript
JavaScript事件驱动及事件处理
JavaScript教程:JavaScript函数
JavaScript程序控制流
JavaScript制作滚动文本效果
JavaScript教程:表达式和运算符
JavaScript教程:基本数据类型
JavaScript教程:网页中加入JavaScript
JavaScript教程:编写一个简单的JavaScript程序
JavaScript教程:JavaScript程序运行环境
JavaScript教程:JavaScript和Java的区别
JavaScript教程:什么是JavaScript?
JavaScript教程:对象的基础知识
JavaScript教程:JS的语句及语法
JavaScript教程:常用对象的属性和方法
JavaScript教程:基于对象的JS语言范例
JavaScript教程:对象的定义
JavaScript教程:创建对象实例
JavaScript教程:对象方法的使用
JavaScript教程:JavaScript中的数组
JavaScript教程:JS中创建新对象范例

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 319 ::
收藏到网摘: 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>