JS 实现图片预加载

本文介绍了一个使用JavaScript实现的图片预加载方法,通过动态监测图片加载状态,在所有指定图片加载完毕后执行特定动作,如页面跳转等。该方法兼容IE和其他主流浏览器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >  
  2. < html   xmlns = "http://www.w3.org/1999/xhtml" >  
  3. < head >  
  4. < meta   http-equiv = "Content-Type"   content = "text/html; charset=gb2312"   />  
  5. < title > js 实现图片预加载 加载完后执行动作 </ title >  
  6. </ head >  
  7. < style   type = "text/css" >  
  8. <!--   
  9. *html{  
  10.  margin:0;  
  11.  padding:0;  
  12.  border:0;  
  13.  }  
  14. body{border:1px solid #f3f3f3; background:#fefefe}  
  15. div#loading{  
  16.   width:950px;  
  17.   height:265px;  
  18.   line-height:265px;  
  19.   overflow:hidden;  
  20.   position:relative;  
  21.   text-align:center;  
  22. }  
  23. div#loading p{  
  24.   position:static;  
  25.   +position:absolute;  
  26.   top:50%;  
  27.   vertical-align:middle;  
  28. }  
  29. div#loading p img{  
  30.   position:static;  
  31.   +position:relative;  
  32.   top:-50%;left:-50%;  
  33.   vertical-align:middle  
  34. }  
  35. -- >  
  36. </ style >  
  37. < div   id = "loading" >  
  38.    < p > < img   src = "http://www.baidu.com/img/baidu_logo.gif"   /> </ p >  
  39. </ div >  
  40. < script >  
  41. var  i = 0 ;  
  42. var  c = 3 ;  
  43. var  imgarr = new  Array  
  44. imgarr[0]="http://www.baidu.com/img/baidu_logo.gif";  
  45. imgarr[1]="http://img.baidu.com/img/logo-img.gif";  
  46. imgarr[2]="http://img.baidu.com/img/logo-zhidao.gif";  
  47. var  Browser = new  Object();  
  48. Browser.userAgent = window .navigator.userAgent.toLowerCase();  
  49. Browser.ie =/msie/.test(Browser.userAgent);  
  50. Browser.Moz =/gecko/.test(Browser.userAgent);  
  51. function SImage(url,callback)  
  52. {  
  53.     var  img  =  new  Image();  
  54.  if(Browser.ie){  
  55.          img.onreadystatechange  = function (){    
  56.             if( img.readyState =="complete"|| img.readyState =="loaded"){  
  57.                  i i =i+1;  
  58.     callback(i);  
  59.             }  
  60.         }          
  61.     }else if(Browser.Moz){  
  62.          img.onload = function (){  
  63.             if( img.complete ==true){  
  64.                  i i =i+1;  
  65.                 callback(i);  
  66.             }  
  67.         }          
  68.     }  
  69.   img.src = url ;  
  70.  
  71. }  
  72.  
  73. function icall(v)  
  74. {  
  75.  if(v < c ){  
  76.   SImage(""+imgarr[v]+"",icall);  
  77.   }  
  78.  else if(v > =c){  
  79.    i = 0 ;  
  80.   //location.replace('banner.html');//这里写自己的动作吧,  
  81.   }  
  82. }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值