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

所属分类: 网络编程 / JavaScript 阅读数: 1300
收藏 0 赞 0 分享
复制代码 代码如下:

<!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>
更多精彩内容其他人还在看

解决Layui 表格自适应高度的问题

今天小编就为大家分享一篇解决Lyaui 表格自适应高度的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

laravel+vue组合的项目中引入ueditor方式(打包成组件形式)

今天小编就为大家分享一篇laravel+vue组合的项目中引入ueditor方式(打包成组件形式),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JavaScript定时器常见用法实例分析

这篇文章主要介绍了JavaScript定时器常见用法,结合实例形式分析了JavaScript定时器常见功能、应用及相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

NodeJs crypto加密制作token的实现代码

这篇文章主要介绍了NodeJs crypto加密制作token的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Javascript 类型转换、封闭函数及常见内置对象操作示例

这篇文章主要介绍了Javascript 类型转换、封闭函数及常见内置对象操作,结合实例形式分析了JavaScript类型显示转换、隐式转换、变量作用域、封闭函数及常用内置对象相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Angular Karma测试的持续集成实践

这篇文章主要介绍了详解Angular Karma测试的持续集成实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

taro小程序添加骨架屏的实现代码

这篇文章主要介绍了taro小程序添加骨架屏的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

create-react-app中添加less支持的实现

这篇文章主要介绍了react.js create-react-app中添加less支持的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

微信小程序自定义头部导航栏(组件化)

这篇文章主要为大家详细介绍了微信小程序自定义头部导航栏,胶囊按钮,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

在node环境下parse Smarty模板的使用示例代码

这篇文章主要介绍了在node环境下parse Smarty模板的使用示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享
查看更多