如果我有一个图像文件名数组,
var preload = ["a.gif", "b.gif", "c.gif"];
Run Code Online (Sandbox Code Playgroud)
我想在循环中预加载它们,是否有必要每次都创建一个图像对象?下面列出的所有方法都有效吗?一个更好吗?
一个.
var image = new Image();
for (i = 0; i < preload.length; i++) {
image.src = preload[i];
}
Run Code Online (Sandbox Code Playgroud)
B.
var image;
for (i = 0; i < preload.length; i++) {
image = new Image();
image.src = preload[i];
}
Run Code Online (Sandbox Code Playgroud)
C.
var images = [];
for (i = 0; i < preload.length; i++) {
images[i] = new Image();
images[i].src = preload[i];
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
Pao*_*ino 11
编辑:
实际上,我只是进行了测试,方法A没有按预期工作:
请查看:http://www.rootspot.com/stackoverflow/preload.php
如果在页面加载完成后单击第二个图像,它应该是即时显示的,因为它是预加载的,但是第一个没有,因为它在更改源之前没有时间加载.有趣.通过这个新的开发,我将继续使用方法C.