使用异步加载和缓存来提高响应速度。
以下是一个基于JavaScript和jQuery的代码示例:
var imageCount = 10;
var imageArray = [];
// 异步加载图片
function loadImage(index) {
var apiUrl = 'https://api.unsplash.com/photos/random?client_id=YOUR_ACCESS_KEY';
$.getJSON(apiUrl, function(data) {
var image = new Image();
image.onload = function() {
imageArray[index] = image;
};
image.src = data.urls.regular;
});
}
// 缓存图片
function preloadImages() {
for (var i = 0; i < imageCount; i++) {
loadImage(i);
}
}
// 显示图片
function showImage() {
var randomIndex = Math.floor(Math.random() * imageCount);
var randomImage = imageArray[randomIndex];
$('#myImage').attr('src', randomImage.src);
}
// 页面加载完成后执行
$(function() {
preloadImages();
showImage();
});
首先,我们定义了一个数组来存储从API获取的图片。然后,我们使用jQuery的getJSON函数异步加载这些图片,并在加载完成后将它们存储到数组中。最后,我们使用Math.random函数来随机选择一个图像,并将其显示在页面上。此外,我们还使用了缓存来避免每次访问API,从而提高了响应速度。