首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在下载“大图片列表”之前加载页面的所有css & js

在下载“大图片列表”之前加载页面的所有css & js
EN

Stack Overflow用户
提问于 2011-09-30 04:18:28
回答 3查看 1.2K关注 0票数 1

我有一个网站,显示约20自动播放幻灯片(每个包含4-5图像)在一个页面的列表。现在的问题是,这需要很长的时间来加载网站(当然会,因为有这么多图像),但我希望优先加载所有必要的css和js文件,以便在图像开始下载之前正确呈现页面上的其他组件。

所以..。有没有办法设置请求资源加载的优先顺序?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-30 04:19:34

有没有办法设置加载所请求资源的优先顺序

是-将它们按该顺序放入HTML文件中!

我想优先加载所有必要的css和js文件,以便页面上的其他组件在图像开始下载之前被正确渲染。

这是一个不同的问题。

在知道大多数元素的尺寸之前,无法正确呈现页面组件。因此,如果页面布局中有其他图像,则需要首先加载这些图像,或者在标记中指定它们的宽度和高度属性。

由于您的幻灯片图像将与布局的其余部分混合在一起,如果您使用纯HTML加载它们,听起来您别无选择,只能根据其他评论和答案从Javascript加载所有幻灯片图像。

票数 1
EN

Stack Overflow用户

发布于 2011-09-30 04:43:04

更好的方法是使用dom创建元素,让您的div甚至img标记src为空,然后使用innerHTML在onload函数中加载您想要的图像:

代码语言:javascript
运行
复制
function images(){
  var place_to_put_image = document.getElementById("image_div");
  place_to_put_image.innerHTML = "<img src=\"your_image_here\"></img>"; 
}

<body onload="images()>
  <div id="image_div></div>
</body>

你可以把你的图像放在一个数组中,如果你想把它们都放在同一个地方,你可以把div的innerHTML或者其他任何东西都赋给这个数组,或者你可以把onload放在div或者你想要加载图像的任何地方。

票数 0
EN

Stack Overflow用户

发布于 2011-09-30 04:43:35

有几种方法可以做到这一点,但它们都不是真正将图像放入HTML中-至少不是正确的。我喜欢这样做的一种方式是将图像src URL添加到另一个属性,如alt (对于可访问性不是很好)或rel。此外,为所有图像提供一个类,该类将用于通过JS将其挂钩到图像中。

代码语言:javascript
运行
复制
<img alt="images/foo.jpg" class="loadlater" />

然后在JS中,使用class="loadlater"获取所有元素,并将源设置为ALT值。

代码语言:javascript
运行
复制
img.src = img.alt;

你没提到jQuery。如果您使用的是jQuery,则交换属性的命令将如下所示:

代码语言:javascript
运行
复制
$('.loadlater').each(function() { this.src=this.alt; });

然后,无论何时何地调用它,图像都会被加载。您需要在css和js完成加载后调用它--可能是document.load函数。同样,如果您使用的是jQuery,它将如下所示:

代码语言:javascript
运行
复制
$(function()
{
    $('.loadlater').each(function() { this.src=this.alt; });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7602935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档