跑馬燈隨機(jī)點名

朋友曾跟我提過隨機(jī)點名的需求,想要跑馬燈效果,順手寫了一下.純原生js寫法
代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        #tabs td{
            width: 100px;
            height: 30px;
            text-align: center;
        }
    </style>
</head>
<body>
  <button id="btn">Go!</button>
  <script>

      //定義名字?jǐn)?shù)組
      var arrName =['小明','小花','小青',
      '小蘭','小綠','小芳','小紫','小里','小張',
      '小王','小黑','小白','小玲','小賈','小鄭','小狗'
      ,'小三','小四','小酒','小樣','小楊','小木','曉曉'];
      //表格常量
      var tabW =5;
      var tabH =5;
      //搭建隨機(jī)函數(shù)
      var MathRond =function(arr){
          return Math.floor(Math.random()*arr.length);
      }
      //搭建表格函數(shù)
      var MyTab =function(tabWidth,tabHeight){
          var oTab =document.createElement("table");
          oTab.setAttribute('border','1');
          oTab.setAttribute('id','tabs');
          for(var i =0;i<tabHeight;i++){
              var aTr =document.createElement("tr");
              oTab.appendChild(aTr);
              for(var j =0;j<tabWidth;j++){
                  var aTd =document.createElement("td");
                 oTab.getElementsByTagName("tr")[i].appendChild(aTd);
              }
          }
          document.body.appendChild(oTab);
      }
      MyTab(tabW,tabH);
      //把名字放表格里
      function tabPreson(arr){
          var oTab =document.getElementById("tabs");
          for(var i =0;i<arr.length;i++){
              oTab.getElementsByTagName("td")[i].innerHTML=arr[i];
              oTab.getElementsByTagName("td")[i].style.backgroundColor='';
              oTab.getElementsByTagName("td")[i].style.color='red';
          }
          oTab.getElementsByTagName("td")[MathRond(arr)].style.backgroundColor=getColor();
         // oTab.getElementsByTagName("td")[MathRond(arr)].style.color='#fff';
      }
      //啟動前先調(diào)用 ===
      //跑馬燈效果  =====修改版,隨時停止跑馬燈效果。
      var paoma =true;
      var timeId =null;
      function paoMa(){
           if(paoma){
               timeId =setInterval(function(){
                   tabPreson(arrName);
               },20);
               paoma=false;
           }else{
               clearInterval(timeId);
               paoma=true;
           }
      }
      //隨機(jī)顏色抽取
      var getColor =function(){
          var nums ='0123456789abcdef';
          var str='#';
          for(var i =0;i<6;i++){
              str+=nums[MathRond(nums)]
          }
         return str;
      }

      var oBtn =document.getElementById("btn");
      //點擊開始點名
      oBtn.onclick=function(){
          paoMa();
      }

  </script>
</body>
</html>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容