通过遍历列表更改图像的src

问题描述 投票:0回答:4

我正在尝试每十分之一秒更改一次图像。我已经根据其他响应在此处编写了脚本,但仍无法正常工作。这是脚本:

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"/>
javascript html image src
4个回答
1
投票

我知道了。对于任何其他出现此错误的人,这是由于您的脚本在html之前运行。在img之后运行脚本。


1
投票

您可以执行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"/>

0
投票

您的代码有效,images数组中的字符串是相对的,因此您可能没有在项目中使用它们。我简化了几件事,首先在同一表达式中初始化并声明images数组,其次,在myMethod()中将您的if语句转换为三元表达式:


-1
投票

您的问题似乎在函数内:

© www.soinside.com 2019 - 2024. All rights reserved.