我想预加载在我网站的各个页面上使用的十几个图像——这样当用户打开一个页面时,其中包含的图像会立即打开。
为了实现这一点,我在标签内放置了以下脚本:
<script>
if (document.images) {
var my_image_one = new Image();
my_image_one.src= "path/to/images/my-image-one.jpg";
var my_image_two = new Image();
my_image_two.src= "path/to/images/my-image-two.jpg";
var my_image_three = new Image();
my_image_three.src= "path/to/images/my-image-three.jpg";
/* etc. */
</script>
我在脚本中看到的问题:
- 它是重复的。
- 它运行,因此每次加载任何新页面时都会尝试加载图像(即使图像已经加载)。
我想改进它,创建这样的东西:
if (document.images) {
my_images = array (image_name=>path/to/image/image-name.jpg, et cetera);
for (i=1;i++;i<=array.length) {
if "the image hasn't been preloaded yet" {
preload image;
}
}
如何将其翻译成正确的 JavaScript?