JavaScript:如何将我的红绿灯序列从按钮变为自动?

时间:2016-12-05 11:17:32

标签: javascript

我创建了一个脚本,可以在点击按钮时更改交通灯。但是我想改变它,因此它是自动化的。我对编码很陌生,所以如果有人可以帮助我或为我创建它,我将不胜感激。我将把我当前的脚本留在下面。再一次,如果有人可以提供帮助,我会非常感激。

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Task 3 Traffic Lights </h1>

<img id=”light” src=”"H:/Year 11/Computer Science/A452 Practical Investigation/Task 3 - Code/assets/redlight.jpg">

<button type=”button” onclick=”changeLights()”>Change Lights</button>

<script>
var list = [
"H:/Year 11/Computer Science/A452 Practical Investigation/Task 3 - Code/assets/redlight.jpg",
"H:/Year 11/Computer Science/A452 Practical Investigation/Task 3 - Code/assets/redamberlight.jpg",
"H:/Year 11/Computer Science/A452 Practical Investigation/Task 3 - Code/assets/greenlight.jpg",
"H:/Year 11/Computer Science/A452 Practical Investigation/Task 3 - Code/assets/amberlight.jpg"
 ];

var index = 0;
function changeLights() {
    index = index + 1;

    if (index == list.length) index = 0;
    var image = document.getElementById(‘light’);

    image.src=list[index];
}
</script>

</body>
</html>

1 个答案:

答案 0 :(得分:1)

我认为通过&#34;自动化&#34;你的意思是在一定的时间间隔内自动切换红绿灯。这可以在setInterval

的帮助下轻松完成
setInterval(changLights, 1000);

第一个参数是您想要定期执行的函数, 第二个是以毫秒为单位的间隔 - 所以在这个例子中,灯光每秒都会改变。

最小例子:

&#13;
&#13;
index = 0;

function change() {
  index += 1;
  console.log(index);
}

setInterval(change, 1000);
&#13;
&#13;
&#13;