javascript隨機點名–案例

  • 2019 年 10 月 14 日
  • 筆記

主要知識點涉及if選擇結構判斷語句數組的定義定時器清除定時器日期對象的使用

1.HTML結構

 1 <!DOCTYPE html>   2 <html>   3 <head>   4     <meta charset="utf-8">   5     <title>隨機點名</title>   6     <style type="text/css">   7         .box{   8             width: 200px;   9             height: 200px;  10             border: 1px solid red;  11         }  12         #uname{  13             width: 100px;  14             height: 50px;  15             background: pink;  16  17             /* 設置div塊 水平居中*/  18             margin: 0 auto;  19             margin-top: 30px;  20  21  22             text-align: center;  /* 設置文本水平居中 */  23             line-height: 50px;  /* 設置文本垂直居中 */  24             font-weight: bold;  /* 字體加粗 */  25             font-size: 20px;  /* 設置字體大小 */  26         }  27         button{  28             display: block; /* 將元素轉換成行內塊元素 */  29             margin: 10px auto;  30         }  31     </style>  32 </head>  33 <body>  34  35 <div class="box">  36     <div id="uname">姓名</div>  37     <button>開始</button>  38 </div>  39  40 </body>  41 </html>

頁面如下圖所示:

 

 

 2.js代碼

1)在開始按鈕和結束按鈕之間相互轉換

點擊  開始  按鈕,將按鈕中的內容修改為  結束 

 1 <body>   2 <script type="text/javascript">   3     // 獲取按鈕對象   4     var btn = document.getElementsByTagName("button")[0];   5     // 給按鈕添加單擊事件   6     btn.onclick = function(){   7         btn.innerHTML="結束"   8     };   9 </script>  10 </body>

 

 

點擊結束按鈕 ,按鈕變成開始按鈕

切換按鈕:判斷按鈕狀態,如果按鈕為開始按鈕,將按鈕變成結束按鈕;

如果按鈕為結束按鈕,將按鈕變成開始按鈕。

 1 <body>   2   3 <script type="text/javascript">   4     // 獲取按鈕對象   5     var btn = document.getElementsByTagName("button")[0];   6     // 給按鈕添加單擊事件   7     btn.onclick = function(){   8         if(btn.innerText=="開始"){   9             btn.innerHTML="結束"  10         }else{  11             btn.innerHTML="開始"  12         }  13  14     };  15 </script>  16 </body>

定義一個數組用來存儲人名,點擊開始按鈕,隨機選擇人名

點擊停止按鈕,頁面不再發生變化。

 1 <body>   2   3 <div class="box">   4     <div id="uname">姓名</div>   5     <button>開始</button>   6 </div>   7 <script type="text/javascript">   8     // 定義數組  存儲人名   9     var arr = ['李白','杜甫','韓愈','柳宗元','歐陽修','蘇洵','蘇軾','蘇轍','王安石','曾鞏','陶淵明','辛棄疾','李賀','陸遊'];  10     // 獲取id="uname"的元素對象  11     var Uname = document.getElementById("uname");  12     var flag = null; // 給定時器添加一個標識符  13  14     // 獲取按鈕對象  15     var btn = document.getElementsByTagName("button")[0];  16     // 給按鈕添加單擊事件  17     btn.onclick = function(){  18         if(btn.innerText=="開始"){  19             btn.innerHTML="結束";  20             // 添加多次定時器  21             flag = setInterval(function(){  22             var num = rand(0,arr.length-1); //隨機獲取數組的索引  23             // 通過索引獲取人名  24             var uname = arr[num];  25             // 將取出來的人名  寫入到頁面當中  26             Uname.innerHTML=uname;  27             },100)  28  29         }else{  30             btn.innerHTML="開始";  31             // 清除多次定時器  32             clearInterval(flag);  33         }  34  35     };  36  37  38     // 封裝一個隨機函數  39     function rand(n,m){  40         return Math.floor(Math.random()*(m-n+1));  41     }  42 </script>  43 </body>

頁面最終顯示如下圖所示: