【发布时间】:2017-05-23 07:52:14
【问题描述】:
我在网页上有一个应用了背景图像的元素。有六幅不同的图像,我将一一展示。目前,第一张图片显示四秒钟,然后下一张显示四秒钟,依此类推。
我面临的问题是我无法控制下载图像的顺序。当浏览器显示第一张图片时,我希望它优先下载幻灯片中的第二张图片。当浏览器显示第二张图片时,我希望它优先下载第三张图片。这样,当图像发生变化时,用户就不会看到闪光。
目前,浏览器似乎正在以随机顺序下载图像。这是我的 CSS:
@keyframes slideshow {
0% {
background: url('1.jpg');
}
4% {
background: url('1.jpg');
}
6% {
background: url('2.jpg');
}
14% {
background: url('2.jpg');
}
.... and so on.
}
当我在后台显示 1.jpg 时,有什么方法可以强制浏览器下载图像 2.jpg?
谢谢。
【问题讨论】:
-
为什么不将这些图像加载到隐藏元素(或隐藏元素,即在加载图像之前创建)中?例如,带有
display:none的 DOM 元素仍然存在 - 如果将图像加载到此元素中,它将不会显示,但会由浏览器加载。这对您的问题意味着您可能想要考虑 JS/JQuery 实现,我不确定以这种方式加载内容会影响它在 CSS 中的显示方式。 -
@Wep0n 浏览器是否按照它们在
img标签中出现的顺序加载图像? -
只是一个旁注,而不是在每个关键帧的开头和结尾重复两次
background: url('2.jpg');,您可以将它们混合在一行中,就像这样6%, 14% { background: url('2.jpg'); }jsFiddle Demo
标签: javascript jquery html css image