【问题标题】:Preloadings images slowing page load预加载图像会减慢页面加载速度
【发布时间】:2011-04-01 12:00:22
【问题描述】:

我有一个内置在 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 %> );

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

感谢您的建议。

【问题讨论】:

  • 哇,是我自己还是投票变得更有趣了?
  • @quertymk:是每个人。一点愚人节奖金。

标签: javascript jquery image preloading


【解决方案1】:

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

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

【讨论】:

  • 谢谢。因为我在页面中加载了 jquery,所以我使用了 $(window).load(function(){ 并且它很有效。
猜你喜欢
  • 1970-01-01
  • 2021-05-13
  • 2019-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多