我正在尝试每十分之一秒更改一次图像。我已经根据其他响应在此处编写了脚本,但仍无法正常工作。这是脚本:
var images = Array();
var index = 0;
images = ["rock.png", "paper.png", "scissors.png"];
var opponent = document.getElementById("opps");
setInterval(myMethod, 100);
function myMethod( ){
opponent.src = images[index];
if (index <= 1){
index++;
}
else{
index = 0;
}
}
这里是标签:
<img src = "" id ="opps"/>
我知道了。对于任何其他出现此错误的人,这是由于您的脚本在html之前运行。在img之后运行脚本。
您可以执行index % images.length
无限循环遍历数组-当您遍历索引时,它会回绕一遍]
此外,您应该使用let a = []
创建一个空数组。您没有必须,但这是一个好习惯-Read more
最后,100毫秒可能太小,无法更改图像源,在大多数情况下,大约1-5秒应该足够]]
var images = ["rock.png", "paper.png", "scissors.png"]; var index = 0; var opponent = document.getElementById("opps"); setInterval(myMethod, 100); function myMethod( ){ opponent.src = images[index % images.length]; index += 1; console.log(opponent.src); }
<img src = "" id ="opps"/>
您的代码有效,images
数组中的字符串是相对的,因此您可能没有在项目中使用它们。我简化了几件事,首先在同一表达式中初始化并声明images
数组,其次,在myMethod()
中将您的if语句转换为三元表达式:
您的问题似乎在函数内: