JavaScript TrafficLights图像更改不工作

JavaScript TrafficLights图像更改不工作,javascript,Javascript,我正在学校做一个调查项目,我需要用JavaScript制作交通灯。我有一个交通灯不同阶段的PNG图像,我想在点击按钮时在它们之间切换。这是我写的,但我似乎找不到任何错误。这是我第一次使用JavaScript,而且有时间限制。请尽快回复 多谢各位 <!DOCTYPE html> <html> <body> <script> var lights = [ "Assets/TrafficLight1

我正在学校做一个调查项目,我需要用JavaScript制作交通灯。我有一个交通灯不同阶段的PNG图像,我想在点击按钮时在它们之间切换。这是我写的,但我似乎找不到任何错误。这是我第一次使用JavaScript,而且有时间限制。请尽快回复

多谢各位

<!DOCTYPE html>
<html>
    <body>
    <script>
        var lights = [
            "Assets/TrafficLight1.png",
            "Assets/TrafficLight2.png",
            "Assets/TrafficLight3.png",
            "Assets/TrafficLight4.png"
        ];

        var i = 0;
        function ChangeLights() {
            document.getElementById("TrafficLight1").src = lights[i];

            if (i = 4) {
                i = 0;
            } else {
                i = i + 1;
            }
        }
    </script>

    <button onclick="ChangeLights()">Click To Change</button>
    <img src ="Assets/TrafficLight1.png" alt="trafficlight" name="TrafficLight1" width ="200"  height= "400" id="TrafficLight1">
    </body>
</html>

var灯=[
“Assets/TrafficLight1.png”,
“Assets/TrafficLight2.png”,
“资产/交通灯3.png”,
“资产/交通灯4.png”
];
var i=0;
函数ChangeLights(){
document.getElementById(“TrafficLight1”).src=lights[i];
如果(i=4){
i=0;
}否则{
i=i+1;
}
}
单击以更改
此处:

if (i = 4) {
这是不正确的,因为它将4赋值给i,所以它总是正确的-4是真实值。使用
==

if (i === 4) {

这是因为您使用的if逻辑比较错误

如果(i=4){ 到
如果(i==4){

因此,使用一(1)(=)个符号将变量设置为值

使用两(2)(==)进行比较


使用三(3)(==)可以进行直接比较。

非常感谢,我没有意识到这是一个如此简单的修复:D