1. 程式人生 > 程式設計 >JavaScript實現隨機點名程式

JavaScript實現隨機點名程式

本文例項為大家分享了js實現隨機點名程式的具體程式碼,供大家參考,具體內容如下

效果:

JavaScript實現隨機點名程式

錄製的gif效果圖沒那麼理想,其實速度是比這個快的

思路:

1.定義一個數組,存放名單
2.啟動定時器,設定間隔時間不斷呼叫函式
3.Math.random()獲取隨機下標,根據下標的隨機變換取出陣列中對應的元素
4.邏輯程式碼完成後,通過DOM物件把變化的結果呈現在頁面上

JS程式碼:

<script>
var arr = ["唐僧","孫悟空","豬八戒","沙悟淨","白骨精","玉皇大帝","紅孩兒","太上老君"]

var myTimer = null //定時器編號

// 既是啟動定時器的函式,也是停止定時器的函式
function goAndStop(){
  // 如果當前沒有定時器在執行,則啟動,否則,停止定時器;
  if(myTimer == null){
    // 啟動定時器,隨機下標,取出名字
    myTimer = setInterval(function(){
      // 1、隨機下標
      var index = parseInt(Math.random()*arr.length)

      // 2、根據下標取出學生的姓名,顯示在頁面上
      document.getElementById("stuName").innerHTML = arr[index]

    },10);

    //啟動定時器的同時,改變按鈕狀態,為下次單擊做準備
    document.getElementById("btn").value = "停  止"
  }else{
    // 當前若有有定時器在執行,則停止定時器,恢復初始狀態
    window.clearInterval(myTimer)
    myTimer = null
    document.getElementById("btn").value = "開  始"
  }
}
</script>

HTML + CSS + JS 原始碼:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width,initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
  #box{
    width:200px;
    height: 300px;
    margin: 100px auto;
  }

  #stuName{
    width: 100%;
    height: 80px;
    border: 2px solid gray;
    line-height: 80px;
    text-align: center;
    font-size: 30px;
    color:orange;
    font-weight: bold;
  }

  input{
    margin-top:30px;
    width: 100%;
    height: 50px;
    font-size: 20px;
    font-weight: bold;
  }

  </style>
</head>
<body>
  <div id="box">
    <div id="stuName">
      隨機名單
    </div>
    <input id="btn" type="button" value="開  始" onclick="goAndStop()">
  </div>
</body>
</html>
<script>
var arr = ["唐僧","太上老君"]

var myTimer = null 
function goAndStop(){
  if(myTimer == null){
    myTimer = setInterval(function(){
      var index = parseInt(Math.random()*arr.length)

      document.getElementById("stuName").innerHTML = arr[index]

    },10);
    document.getElementById("btn").value = "停  止"
  }else{
    window.clearInterval(myTimer)
    myTimer = null
    document.getElementById("btn").value = "開  始"
  }
}
</script>

這是我的一些思路,分享給大家!

如果你有更好的方法,歡迎下方留言相互交流!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。