用html编写一个红绿灯,利用js实现简易红绿灯

HTML代码:

在一个div容器内,设置3个span

CSS代码:

.red_light {

width: 200px;

height: 200px;

border-radius: 50%;

margin-left: 10px;

display: inline-block;

background-color: red;

}

.yellow_light {

width: 200px;

height: 200px;

border-radius: 50%;

margin-left: 10px;

display: inline-block;

background-color: yellow;

}

.green_light {

width: 200px;

height: 200px;

border-radius: 50%;

margin-left: 10px;

display: inline-block;

background-color: green;

}

.light {

width: 200px;

height: 200px;

background-color: #777777;

border-radius: 50%;

margin-left: 10px;

display: inline-block;

}

#i1 {

width: 660px;

height: 200px;

margin: 0 auto;

border: black 10px solid;

}

JS代码

function l() {

r_l()//红灯亮

setTimeout(y_l, 1000);//黄灯一秒后亮

setTimeout(r_l, 1000);//黄灯亮的同时关闭红灯

setTimeout(g_l, 2000);//绿灯两秒后亮

setTimeout(y_l, 2000);//绿灯亮,黄灯熄

setTimeout(g_l, 3000);//三秒后,红灯熄

}

function r_l() {

//获取红灯

let r = document.getElementsByClassName('red_light')[0];

//toggle函数,如果有该属性,则去除,没有该属性,则添加

r.classList.toggle('light')

}

function g_l() {

//同上

let r = document.getElementsByClassName('green_light')[0];

r.classList.toggle('light')

}

function y_l() {

//同上

let r = document.getElementsByClassName('yellow_light')[0];

r.classList.toggle('light')

}

//红灯10秒,黄灯2秒,绿灯10秒

l(); //先执行函数

window.onload = function () {

t1 = setInterval(l, 3000)//每隔三秒重复执行函数

};

//每隔三秒的时间是因为每个灯各闪一秒,如果改变了灯的持续时间,循环时间也要修改

运行效果

f13fa56d5341c39c2b72a750159bc094.gif

以上就是利用js实现简易红绿灯的详细内容,更多关于js 实现红绿灯的资料请关注我们其它相关文章!

时间: 2020-10-14

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值