将所有需要切换的图片预加载到数组sprites里该怎么实现
时间: 2024-05-01 13:17:28 浏览: 60
CSS Sprites 技巧
您好,针对您的问题,我理解您需要实现图片预加载并存储到数组中。您可以使用 JavaScript 中的 Image 对象来实现的预加载,然后将预加载成功图片对象存储到。以下是示例代码:
```
// 定义需要预加载的图片路径
const imagePaths = ['img1.png', 'img2.png', 'img3.png'];
// 存储预加载成功的图片对象的数组
const sprites = [];
// 定义图片预加载函数
function preloadImages() {
const promises = imagePaths.map(path => {
return new Promise((resolve, reject) => {
const img = new Image();
img.onload = function() {
sprites.push(img);
resolve();
}
img.onerror = function() {
reject(`Failed to load ${path}`);
}
img.src = path;
});
});
return Promise.all(promises);
}
// 调用图片预加载函数并在所有图片加载完成后执行回调函数
preloadImages().then(() => {
console.log('All images loaded');
// 在这里可以执行需要使用预加载图片的代码
}).catch(err => {
console.error(err);
});
```
希望这个代码示例可以帮助到您,如果您有更多问题,可以继续提问。
阅读全文