【发布时间】:2020-06-10 23:06:39
【问题描述】:
我编写了一个简单的 JavaScript 幻灯片,其中背景通过 CSS 背景属性在一段时间后更改。问题是在带宽较低的设备上,幻灯片在未加载图像时会显示空白图像。我的解决方案是预加载所有图像并在加载所有图像时开始幻灯片放映。如何预加载图像并将其用作背景?
index.html:
<html>
<head>
</head>
<body>
<div class="jumbotron" style="width:200pt; height:200pt"></div>
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.4.1.min.js"></script>
<script src="slideshow.js"></script>
</body>
</html>
slideshow.js:
$(window).on("load", function () {
// List of image paths.
var background_images = ["image1.jpg", "image2.jpg"]
// Every X miliseconds change the background image.
var X = 4000
backgroundImageIdx = 0;
window.setInterval(function () {
$(".jumbotron").css("background-image", "url(" + background_images[backgroundImageIdx] + ")");
backgroundImageIdx++;
if (backgroundImageIdx >= nrOfBackgroundImages) {
backgroundImageIdx = 0;
}
}, X);
}
【问题讨论】:
标签: javascript html jquery image preload