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

Javascript
Javascript开发包大全整理
获取Javscript执行函数名称的方法
间隔滚动效果-兼容IE和FireFox
使用Modello编写JavaScript类
一个最简单的级联下拉菜单
用Javascript实现UTF8编码转换成gb2312编码
添加到收藏夹的Javascript脚本 for ie,firefox
一些常用的Javascript函数
颜色选择: ColorMatch 5K
Javascript实现的分页函数
在IE下:float属性会影响offsetTop的取值
用javascript获取地址栏参数
人民币数字转换成大写形式
改进:论坛UBB代码自动插入方式
获取table中的rowIndex和cellIndex
JavaScript事件列表解说
取得input元素中部分选中(selected)的值
破解md5加密扫描程序(适合扫描弱密码)[
JavaScript中Array 对象相关的几个方法
Javascript直接定义对象实例[

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


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