HTML代码:
在一个div容器内,设置3个span
1
2
3
4
5
6
7
|
< body > < div id = "i1" > < span class = "light red_light" ></ span > < span class = "light yellow_light" ></ span > < span class = "light green_light" ></ span > </ div > |
CSS代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
<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 ; } #i 1 { width : 660px ; height : 200px ; margin : 0 auto ; border : black 10px solid ; } </style> |
JS代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<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 实现红绿灯的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/98WDJ/p/10685559.html#4527173