编程一个实现红绿灯效果,红灯30秒,黄灯3秒,绿灯45秒
时间: 2023-12-07 09:05:38 浏览: 109
一个简单的红绿灯模拟程序
可以使用如下的 Javascript 代码实现:
```javascript
function trafficLight() {
var redTime = 30; // 红灯持续时间,单位:秒
var yellowTime = 3; // 黄灯持续时间,单位:秒
var greenTime = 45; // 绿灯持续时间,单位:秒
var red = document.getElementById('red');
var yellow = document.getElementById('yellow');
var green = document.getElementById('green');
setInterval(function() {
// 显示红灯,隐藏黄灯和绿灯
red.style.display = 'block';
yellow.style.display = 'none';
green.style.display = 'none';
setTimeout(function() {
// 显示黄灯,隐藏红灯和绿灯
red.style.display = 'none';
yellow.style.display = 'block';
green.style.display = 'none';
setTimeout(function() {
// 显示绿灯,隐藏红灯和黄灯
red.style.display = 'none';
yellow.style.display = 'none';
green.style.display = 'block';
}, greenTime * 1000);
}, yellowTime * 1000);
}, (redTime + yellowTime + greenTime) * 1000);
}
trafficLight();
```
这段代码使用了 `setInterval` 和 `setTimeout` 函数来实现红绿灯的定时控制。首先定义了红灯、黄灯和绿灯的持续时间,以及相应的 DOM 元素。然后使用 `setInterval` 函数来控制整个红绿灯的循环,每次循环的总时间为红灯、黄灯和绿灯的持续时间之和。在每个循环中,先使用 `setTimeout` 函数来控制红灯的持续时间,然后再使用 `setTimeout` 函数来控制黄灯的持续时间,最后使用 `setTimeout` 函数来控制绿灯的持续时间。在每个时间段中,只显示相应的灯,其他灯都隐藏。
阅读全文