【问题标题】:Will this actually reload images?这真的会重新加载图像吗?
【发布时间】:2010-06-25 00:46:00
【问题描述】:

我已经根据我的 javascript 知识编写了这个简单的图像预加载器,但我不知道它是否会在页面显示之前实际加载图像,或者它是否仍会加载图像。

   function preloadImages(html) {   
for(var i=0;i<document.images.length;i++) {
    img_obj = new Image();
    img_obj.src = document.images[i].src;
    if (!img_obj.complete) alert("could not load:" + img_obj.src);
    else continue;
}   
   $("#pad").fadeIn(200);
   return true;
}

另外,我预加载图片的方式是否正确?

【问题讨论】:

    标签: javascript html image


    【解决方案1】:

    要加载图像,图像需要在页面上具有高度/宽度。

    我认为大多数人通常将图像插入 DOM,设置高度、宽度,确保显示是块状的。将绝对位置设置在 -9999px 左侧和顶部,或沿着这些线设置。图像将被缓存以备不时之需。

    【讨论】:

      【解决方案2】:

      取决于你想做什么。 js 应该在页面加载之后运行 onload,所以我不确定你是否真的得到任何好处。 (http://dean.edwards.name/weblog/2005/02/order-of-events/)

      您可以使用 CSS 进行预加载。

      【讨论】:

      • 我使用 ajax 调用将页面加载到 div 容器中,所以在我加载和处理 ajax 请求的实际函数中我使用这个?
      • 我可能不会真正调用此预加载,因为您仅在调用 ajax 函数时才加载它们。一般来说,如果我在做一些奇思妙想的事情,我会先将所有内容加载到页面中,然后将其隐藏。然后我知道所有内容都已加载并可访问,然后我开始用它做一些奇妙的事情,例如幻灯片等。
      猜你喜欢
      • 2013-12-04
      • 2014-01-08
      • 2015-01-21
      • 2012-01-26
      • 1970-01-01
      • 1970-01-01
      • 2014-10-02
      • 1970-01-01
      • 2023-03-18
      相关资源
      最近更新 更多