利用js实现简易红绿灯

时间:2021-05-25

HTML代码:

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

<body><div id="i1"> <span class="light red_light"></span> <span class="light yellow_light"></span> <span class="light green_light"></span></div>

CSS代码:

<style> .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; } </style>

JS代码

<script> 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)//每隔三秒重复执行函数 };//每隔三秒的时间是因为每个灯各闪一秒,如果改变了灯的持续时间,循环时间也要修改</script>

运行效果

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章