javascript - 交通灯序列 Javascript

标签 javascript html

这是我的交通灯序列代码。我想知道如何添加一个计时器来每 3 秒更改一次交通灯颜色,例如,当单击按钮时。谢谢!

<!DOCTYPE html> 
<html> 
<body>  
  <h1>JavaScript Task 3</h1> 
  <p>This is  my Traffic Light script</p> 
  <img id="light" src="./assets/red.jpg">
  <button type="button" onclick="changeLights()">Change Lights</button>  
  <script> 
    var list = ["./assets/red.jpg","./assets/redamber.jpg", "./assets/green.jpg","./assets/amber.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>   

最佳答案

使用setInterval函数。

第一个参数是您要调用的函数,第二个参数是调用该函数的频率(以毫秒为单位)。

var timer = setInterval(changeLights,3000);

var list = ["./assets/red.jpg","./assets/redamber.jpg",     "./assets/green.jpg","./assets/amber.jpg" ];
var index = 0;
function changeLights() {
     index = index + 1;      
if (index == list.length) 
index = 0;      
var image = document.getElementById('light');     
image.src=list[index]; } 
  var timer = setInterval(changeLights,3000);
<h1>JavaScript Task 3</h1> 
<p>This is  my Traffic Light script</p> 
<img id="light" src="./assets/red.jpg"> <button type="button" 
onclick="changeLights()">Change Lights</button>  

关于javascript - 交通灯序列 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36920320/

相关文章:

Javascript 上传多个自动生成的文件表单

javascript - App.post req.body 对象显示为空

python - 使用 Flask 在同一页面发送和接收数据

html - 自动以半步包裹 Flexbox 元素

html - 在 iOS 中查找所有 HTML 兄弟元素

html - 带框架的网站中的浏览器后退按钮问题

javascript - 插入标记而不丢失 jQuery Mobile 样式

php - JAVASCRIPT:确定按钮继续到另一个 .php 表单

javascript - Facebook javascript SDK 从属性文件到 jsp 的共享版本不起作用 [webapp]

Javascript添加删除多张图片上传