1

我有一个内置在 jquery 中的幻灯片,它将图像 url 存储在一个数组中。当您单击下一个按钮时,它会向服务器发送请求以获取图像,然后显示它。这可行,但是一旦检索到图像,图像就会从上到下逐渐加载。我通过添加以下代码解决了这个问题......

//Preload background images
            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=a[i];}}
            }
            MM_preloadImages(<%= preloadImages %> );

现在的问题是第一个图像需要很长时间才能加载。我虽然页面会加载第一个图像,然后在后台的预加载功能中加载其他图像?

感谢您的任何建议。

4

1 回答 1

0

好吧,我们无法从您发布的代码中判断预加载发生的顺序,但您可以将代码更改为仅在当前页面完成加载后运行 MM_preloadImages。

也就是说,看起来您一开始就预加载了所有图像。为什么不只预加载下一张或两张图片,并在每次幻灯片播放时继续这样做?这样,当用户试图转到下一张幻灯片时,浏览器就不会忙于加载整个节目。

于 2011-04-01T12:46:00.003 回答