国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - js教程 - 如何使用原生Js實現隨機點名詳解

如何使用原生Js實現隨機點名詳解

2021-12-27 16:09CV_Di js教程

這篇文章主要給大家介紹了關于如何使用原生Js實現隨機點名的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

使用原生Js實現隨機點名

最近學了一點前端內容,老師讓用js設計一個班里的隨機點名器。就嘗試寫了一個,具體實現效果如圖:

如何使用原生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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<!DOCTYPE html>
<html lang="en">
 
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>點名</title>
  <link href="../callTheRoll/bootstrap-3.3.7-dist/css/bootstrap.min.css" type="text/css" rel="stylesheet">
 
</head>
<style>
  div {
    float: left;
  }
  
  button {
    background-color: moccasin;
    margin: 30px;
    height: 50px;
    width: 150px;
    border: rgb(245, 165, 165) 1px solid;
    font-size: 18px;
  }
  
  .wai {
    margin-left: 200px;
    width: 1300px;
  }
  
  .name {
    height: 40px;
    width: 100px;
    margin: 4px;
    padding: 10px;
    font-size: 18px;
    background-color: mistyrose;
  }
</style>
 
<!-- onload : 事件會在頁面或圖像加載完成后立即發生。 -->
<body onload="A()">
  <div class="wai" align="center">
    <table>
      <button class="start" onclick="start()">開始</button>
      <button class="end" onclick="end()">結束</button>
    </table>
    <div id="names"></div>
  </div>
 
  <script type="text/javascript">
    var nameArr = [
      "空", "張家家", "許雪雪", "王橘橘", "陳韻", "馬本本", "張志志", "唐豪豪", "高洋洋", "朱陽陽", "王山山", "空",
      "尹方方", "王零零", "李遠遠", "吳杰", "李玉玉", "李雯雯", "步一一", "崔明明", "肖金金", "陳晴晴", "趙飛飛", "空",
      "李英英", "李洋陽", "劉俊郡", "王泊", "廉云云", "王子俊", "康三三", "李浩浩", "張藝藝", "徐葉葉", "李宏宏", "雷康康",
      "張青青", "王樂樂", "空", "楊童童", "張君君", "孫明", "何龍龍", "鄭軒軒", "任平平", "孫超超", "空", "賀濤濤",
      "空", "空", "空", "空", "熊秀秀", "薄嘉嘉", "薛萬萬", "尹飛", "張杰", "胡萬萬", "空", "馬文文"
    ];
    var index = 0;
    var k = 1; // 記錄不為空的座位
 
    // 生成作為表
    function A() {
      for (var i = 0; i < nameArr.length; i++) {
        if (nameArr[i].length > 1) {
          // 創建div標簽(html元素)
          var div = document.createElement("div");
          div.setAttribute("class", "name");
          div.setAttribute("id", index++ + "");
          var text = document.createTextNode(nameArr[i]);
          div.appendChild(text);
          // 添加元素
          document.getElementById("names").appendChild(div);
 
          // 每排12人,所以每隔12,添加一個換行符
          if ((i + 1) % 12 == 0) {
            var br = document.createElement("br");
            document.getElementById("names").appendChild(br);
          }
          k++; // 添加一個學生,k自增1,記錄學生(不為空的座位)個數
        } else {
          var div = document.createElement("div");
          div.setAttribute("class", "name");
 
          // div.setAttribute("id", index++ + "");
          // 如果當前元素長度小于等于1時,則代表當前座位為空,所以不給當前div添加id屬性,方便后續隨機選人時,避開空座位
 
          var text = document.createTextNode(nameArr[i]);
          div.appendChild(text);
          // 添加元素
          document.getElementById("names").appendChild(div);
          if ((i + 1) % 12 == 0) {
            var br = document.createElement("br");
            document.getElementById("names").appendChild(br);
          }
        }
 
      }
    }
 
    // 定義一個id標志
    var index2 = -1;
 
    function restore() {
      // 還原顏色
      if (index2 != -1) {
        document.getElementById(index2 + "").style.cssText = "background: mistyrose";
      }
      // 生成隨機數,用K生成隨機數,此時K代表不為空的作為個數
      var num = Math.floor(Math.random() * k);
      document.getElementById(num + "").style.cssText = "background-color:red";
      index2 = num; // 記錄當前被選中的id,在下次執行該函數時,將顏色還原
    }
 
    var time; // 用于接收計時器,方便關計時器時操作
    var n = 1; // 定義狀態正在執行 n=0 , 已經結束 n=1
 
    function start() {
      if (n == 1) {
        // DOM setInterval()方法 計時器
        time = setInterval("restore()", 80);
        n = 0;
      }
    }
 
    function end() {
      if (n == 0) {
        clearInterval(time);
        alert("請" + document.getElementById(index2 + "").innerHTML + "同學回答問題");
        n = 1;
      }
    }
  </script>
</body>
 
</html>

在這里對計時器做一下介紹:

?
1
2
3
4
5
setInterval(code,millisec),這兩個參數都是必須的;
        第一個參數是要調用的函數或要執行的代碼串。
        第二個參數是毫秒值,表示的是隔多久執行一次code(參數一)。
clearInterval(id_of_setinterval),參數是必須的;
        這個參數表示setInterval返回的ID值,即在代碼中我設置的time

(本人是小白一個,所以寫的有什么問題也請各位指出,可以讓我及時改正,謝謝)

總結

到此這篇關于如何使用原生Js實現隨機點名的文章就介紹到這了,更多相關原生Js實現隨機點名內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/Li_Wendi/article/details/112238687

延伸 · 閱讀

精彩推薦
  • js教程利用JavaScript為句子加標題的3種方法示例

    利用JavaScript為句子加標題的3種方法示例

    這篇文章主要給大家介紹了關于如何利用JavaScript為句子加標題的3種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習...

    Hunter網絡安全10152021-12-27
  • js教程JavaScript實現雪花飄落效果實例

    JavaScript實現雪花飄落效果實例

    這篇文章主要為大家詳細介紹了JavaScript實現雪花飄落效果實例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    小蟲蟲~3682021-12-21
  • js教程javascript的事件描述

    javascript的事件描述

    本文主要為大家介紹javascript事件的基礎知識,有需要的朋友可以參考下...

    js教程網9362021-12-15
  • js教程js+for循環實現字符串自動轉義的代碼(把后面的字符替換前面的字符)

    js+for循環實現字符串自動轉義的代碼(把后面的字符替換前面的字

    這段代碼是從網上看到的一段不錯的代碼,用for命令實現字符串的轉移,而且使用的是for循環直接將后面的字符替換成前面的字符,這個邏輯以前沒試過...

    js教程網3992021-12-18
  • js教程mapboxgl實現帶箭頭軌跡線的代碼

    mapboxgl實現帶箭頭軌跡線的代碼

    這篇文章主要介紹了mapboxgl實現帶箭頭軌跡線的代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下...

    GIS兵器庫9122021-12-27
  • js教程js實現鼠標拖曳效果

    js實現鼠標拖曳效果

    這篇文章主要為大家詳細介紹了js實現鼠標拖曳效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    等待的L先生8722021-12-22
  • js教程微信小程序視頻彈幕發送功能的實現

    微信小程序視頻彈幕發送功能的實現

    這篇文章主要介紹了微信小程序視頻彈幕發送功能的實現,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的...

    保護我方豆豆4822021-12-21
  • js教程js實現移動端輪播圖滑動切換

    js實現移動端輪播圖滑動切換

    這篇文章主要為大家詳細介紹了js實現移動端輪播圖滑動切換,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    浪漫前端11272021-12-15
主站蜘蛛池模板: 日韩欧美亚洲精品 | 亚洲精品在线看 | www.色婷婷| 亚洲免费在线视频 | 一区二区三区视频 | 欧美在线不卡 | 久久久久av | aaa级大片 | 亚洲国产成人av | 日韩免费高清视频 | 欧美性大战久久久 | 久久伊人中文字幕 | 成人二区 | 久久久久久久久久久九 | 午夜剧场免费在线观看 | 欧美久久久久 | 依人在线 | 91天堂| 中文字幕一区二区三区乱码在线 | 国产精品九九久久99视频 | 色135综合网 | 国产精品射| 综合色区 | 高清一区在线 | 精精国产xxxx视频在线播放7 | 亚洲成人av在线 | 在线观看黄色电影 | 日本免费在线视频 | 韩国精品一区二区 | 国产视频久久 | 国产精品99久久久久久动医院 | 韩国精品一区 | 日韩一区二区影视 | 一区二区三区在线播放 | av在线电影网站 | 欧美一区二区在线观看 | 国产在线视频一区 | 日韩电影在线 | 精品精品| 成人在线播放 | 欧美午夜寂寞影院 |