应该运行的方式是改变彩色图像。图像变化将是阵列中的位置。这看起来像是一种动画.gif永远重复。
<script>
var images = new Array(4);
images[0] = new Image(50, 50);
images[0].src = "0.gif";
images[1] = new Image(50, 50);
images[1].src = "1.gif";
images[2] = new Image(50, 50);
images[2].src = "2.gif";
images[3] = new Image(50, 50);
images[3].src = "3.gif";
images[4] = new Image(50, 50);
for(time=0; time>4; time++){
document.View.src = images[time]
}
<body>
<img src = "0.gif" name = "View" height = 50 width = 50>
</body>
显然我做错了一些东西,因为我得到的只是数组中的第一个图像,它永远不会改变。我是javascript的新手,所以任何帮助我都会感激不尽。
答案 0 :(得分:2)
你想:
for (time = 0; time < 4; time++) {
您有time > 4
,但您的初始值为0,因此您的条件开始时为假。 for循环的主体永远不会运行,因此图像永远不会改变。
答案 1 :(得分:0)
只是一些评论......
> var images = new Array(4);
初始化长度为4的数组,然后添加5个成员,使长度为5(项目0到4)。不要费心设置长度,只需使用文字初始化数组:
var images = [];
此外,还有一个document.images
集合,它是文档中的所有img元素,因此拥有一个具有相同名称的全局变量可能不是一个好主意。也许imgArray
可能是一个更好的名字。
> document.View.src
使用其名称作为文档对象的属性访问元素是不应使用的非标记功能。 HTML5从img属性列表中删除 name ,但在讨论集合时保留它(也许我们应该回到HTML 4.01和DOM 3)。
您可以改为使用图片集:
document.images.View.src
或者如果你是游戏,HTML5 HTMLAllCollection