主要知識點涉及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>
頁面最終顯示如下圖所示:
3.innerText( )和innerHTML( )之間的區別
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 9 <p>余生<em>山海</em>遠闊,願你隨心所向。</p> 10 <script type="text/javascript"> 11 // 獲取元素對象 12 var cont = document.getElementsByTagName("p")[0]; 13 // 獲取元素內容 14 console.log(cont.innerText); 15 console.log(cont.innerHTML); 16 </script> 17 </body> 18 </html>
-------------------------------------------------------------------------------------------
innerText、innerHTML 向指定元素添加內容
innerHTML :設置元素內容,包括標簽和文本 一般用於修改元素對象,獲取文本內容和標簽
innerText:設置元素文本,只能設置文本 一般用於獲取元素對象,只能獲取到文本內容,