當(dāng)前位置:首頁 >  站長 >  編程技術(shù) >  正文

利用js實(shí)現(xiàn)簡易紅綠燈

 2020-10-16 16:32  來源: 腳本之家   我來投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競價(jià),好“米”不錯(cuò)過

這篇文章主要介紹了利用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)紅綠燈的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

來源:腳本之家

鏈接:https://www.jb51.net/article/197499.htm

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)標(biāo)簽
javascript技巧

相關(guān)文章

熱門排行

信息推薦