Python's Archiver

為方便港臺同胞閱覽,Python中國特別推出簡繁體內容轉換功能

xieaotian 发表于 2008-10-24 20:19

Js(javascript)图片预载类。兼容IE,firefox(FF)

<script>

    function preload(path, img, callback)
    {
        for (var i=0; i<img.length; i++)
        {
            var src = path + img[i]
            img[i] = document.createElement("img")
            img[i].style.display = "none"
            img[i].onload = function()
            {
                document.body.removeChild(this)
                this.onload = null
                this.style.display = ""
                if (!--i) callback(img)
            }
            img[i].src = src
            document.body.appendChild(img[i])
        }
    }

onload = function()
{
    preload
    (
        "http://bbs.51js.com/images/smilies/",[
        "sweat.gif",
        "loveliness.gif",
        "call.gif",
        "funk.gif"],
        function (img)
        {
            alert('ok')
            for (var i=0; i<img.length; i++)
            {
                document.body.appendChild(img[i])
            }
        }
    )
}

</script>
=====================================
另一个
=====================================

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

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.