Вы были в основном там, но было несколько мелочей.
Во-первых, вы вызывали функцию под названием changeLight
, но функция была вызвана changeImage
. Вам также необходимо изменить атрибут источника изображения на images[index]
, а затем увеличить это значение каждый раз.
index = (index + 1) % 4;
Линия добавляет 1 к индексу, но только позволит ему получить как 3. Если он достигает 4, то % 4
в конце будет установить его на 0.
Для справки см the remainder description on this page
Вы также использовали setTimeout
который работает только один раз. Если вы используете setInterval
, он работает точно так же, но повторяет.
var images = ["red.png",
"redamber.png",
"orange.png",
"green.png"];
setInterval(changeLight, 1000);
var index = 0;
function changeLight() {
document.getElementById("img").src = images[index];
index = (index + 1) % 4;
}
Единственная вещь, которая может быть проблема в том, что я не знаю, если изображение на самом деле имеет идентификатор img
. Если это не так, вам нужно добавить это.
Использовать функцию setInterval, не заданную в Timeout, сделать это регулярно. –
Спасибо @ SebastianWąsik.Это делается – Thanga
@Maurice Это код. Я обновил свой ответ, увидев скрипку https://jsfiddle.net/27jygopz/1/ – Thanga