图片预载完整实例

作者:Hily 原始链接:http://hily.me/blog/2005/08/image-preload/
版权声明:可以转载,转载时务必以超链接形式标明文章原始出处作者信息版权声明

完整源代码如下:

<html>
<head>
<title> Image Preload </title>
</head>

<body>
<img id="i1" />
<img id="i2" />
<script type="text/javascript">
<!--
 var imgNum=0; //imgNum用于验证是否加载完图片

 //图片预加载函数
 function MM_preloadImages() {
  var d=document;
  //imgNum=0;
  if(d.images){
   if(!d.MM_p) d.MM_p=new Array();
   var i;
   var j=d.MM_p.length;
   var a=MM_preloadImages.arguments;
   for(i=0; i<a.length; i++){
    d.MM_p[j]=new Image;
    d.MM_p[j++].src=a[i];
    d.MM_p[j-1].onload=function(){imgNum++}; //如果加载完一个图片,则图片总量加1
   }
  }
 }

 //加载两张图片
 MM_preloadImages('http://www.google.com/images/firefox/google.gif', 'http://www.google.com/images/firefox/fox1.gif');

 showImg(document.MM_p.length);
 
 //显示图片,参数len:图片数量
 function showImg(len) {
  if (imgNum==len) {
   document.getElementById('i1').src=document.MM_p[0].src;
   document.getElementById('i2').src=document.MM_p[1].src;
  } else setTimeout('showImg('+len+')', 100);
 }

//-->
</script>
</body>
</html>

-- EOF --

发表一下您的高见

If you have any question, or for the language problem, please fell free to leave a comment or just contact me with email: hilyjiang [At] Gmail.