這篇文章主要介紹了利用js實(shí)現(xiàn)簡易紅綠燈,幫助大家更好的利用js制作特效,美化網(wǎng)頁,感興趣的朋友可以了解下
HTML代碼:
在一個(gè)div容器內(nèi),設(shè)置3個(gè)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);//黃燈亮的同時(shí)關(guān)閉紅燈
setTimeout(g_l, 2000);//綠燈兩秒后亮
setTimeout(y_l, 2000);//綠燈亮,黃燈熄
setTimeout(g_l, 3000);//三秒后,紅燈熄
}
function r_l() {
//獲取紅燈
let r = document.getElementsByClassName('red_light')[0];
//toggle函數(shù),如果有該屬性,則去除,沒有該屬性,則添加
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(); //先執(zhí)行函數(shù)
window.onload = function () {
t1 = setInterval(l, 3000)//每隔三秒重復(fù)執(zhí)行函數(shù)
};
//每隔三秒的時(shí)間是因?yàn)槊總€(gè)燈各閃一秒,如果改變了燈的持續(xù)時(shí)間,循環(huán)時(shí)間也要修改
</script>
以上就是利用js實(shí)現(xiàn)簡易紅綠燈的詳細(xì)內(nèi)容,更多關(guān)于js 實(shí)現(xiàn)紅綠燈的資料請關(guān)注腳本之家其它相關(guān)文章!
來源:腳本之家
鏈接:https://www.jb51.net/article/197499.htm
申請創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!