0

在玩了隐藏的 div ( display:none) 之后,我注意到浏览器似乎不会费心下载该 div 中的任何图像/flash 文件,直到 div 变为可见。

问题在于,在大多数用户的机器上,当查看隐藏的 div 时,浏览器下载图像或 swf 文件等似乎有好几秒钟的等待时间……这 == 用户不满意。

有什么方法可以让浏览器在隐藏的时候下载隐藏的 div 的内容,而不是在它被设置为可见的时候?

也许在 JS 或 jQuery 中?

谢谢

4

3 回答 3

2

不要display:none;用来隐藏图像。

尝试设置以下内容以隐藏内容。

height:0;
width:0;
overflow:hidden;

您还可以尝试使用绝对定位将内容定位在屏幕外。

position:absolute;
left:-1000px;
于 2012-04-27T15:18:51.217 回答
0

您可以尝试的一种方法是,不要将它们绝对隐藏在具有较大的负左侧位置并且最小尺寸可能为 1 或 0 的位置。

于 2012-04-27T15:20:27.487 回答
0

以下是一些选项:

  • 从可见的 DIV 开始,然后在页面加载后或浏览器已获取图像后使用 jQuery 添加隐藏样式。这可能会发生得如此之快,甚至没有人会注意到这种变化。
  • 在加载内容时最初将 DIV 放置在屏幕外,并将 DIV 的尺寸(高度/宽度)固定为非常小,以免占用可见空间。
  • 使用 jQuery 在您希望使其可见的同时加载 DIV 的内容——按需获取图像。IE$('#yourDivId').html('[html goes here]');
  • 使用visible:hidden代替display:none(但请注意它仍会占用空间,因此这可能不适用于所有情况)。您可以将图像的副本放置在页面底部不会影响布局的位置,但当您使其他位置可见时,仍会被提取和浏览器缓存。
于 2012-04-27T15:20:56.013 回答