预加载img元素

时间:2009-03-12 17:06:35

标签: javascript

我目前有一个预加载图片javascript脚本:

function MM_preloadImages() { 
  var d = document; 

  if(d.images){ 
     if(!d.MM_p )
        d.MM_p=new Array();

     var i,j=d.MM_p.length,a=MM_preloadImages.arguments;

     for(i=0; i<a.length; i++){
        if (a[i].indexOf("#")!=0){
           d.MM_p[j]=new Image; 
           d.MM_p[j++].src= '/img' + a[i];
        }
     }
  }
}

问题是我必须在添加图像时手动更新阵列等。

无论如何都有自动化或存在库。

大多数图片网址都是元素href。

显然我可以写一些服务器端,但我想检查一下是否有东西。

2 个答案:

答案 0 :(得分:1)

以下是您使用jQuery执行操作的人:

http://www.filamentgroup.com/lab/update_automatically_preload_images_from_css_with_jquery/

编辑:实际上这并不是你想要的,因为这会从CSS文件中预加载图片 - 我会留下这个,以防这仍然有用。

答案 1 :(得分:0)

问题是,当DOM中的元素可用时,JS检查图像是否已经被加载。

AFAIK没有办法做到这一点(基于CSS的检查是有效的,因为它是在身体内容之前加载的),但一般来说问题的优秀解决方案是CSS spriting