這篇文章給大家分享的是有關(guān)JavaScript如何實(shí)現(xiàn)隨機(jī)點(diǎn)名程序的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
具體內(nèi)容如下
效果:
錄制的gif效果圖沒那么理想,其實(shí)速度是比這個快的
思路:
1.定義一個數(shù)組,存放名單
2.啟動定時器,設(shè)定間隔時間不斷調(diào)用函數(shù)
3.Math.random()獲取隨機(jī)下標(biāo),根據(jù)下標(biāo)的隨機(jī)變換取出數(shù)組中對應(yīng)的元素
4.邏輯代碼完成后,通過DOM對象把變化的結(jié)果呈現(xiàn)在頁面上
JS代碼:
<script> var arr = ["唐僧", "孫悟空", "豬八戒", "沙悟凈", "白骨精", "玉皇大帝", "紅孩兒", "白骨精", "太上老君"] var myTimer = null //定時器編號 // 既是啟動定時器的函數(shù),也是停止定時器的函數(shù) function goAndStop(){ // 如果當(dāng)前沒有定時器在執(zhí)行,則啟動,否則,停止定時器; if(myTimer == null){ // 啟動定時器,隨機(jī)下標(biāo),取出名字 myTimer = setInterval(function(){ // 1、隨機(jī)下標(biāo) var index = parseInt(Math.random()*arr.length) // 2、根據(jù)下標(biāo)取出學(xué)生的姓名,顯示在頁面上 document.getElementById("stuName").innerHTML = arr[index] },10); //啟動定時器的同時,改變按鈕狀態(tài),為下次單擊做準(zhǔn)備 document.getElementById("btn").value = "停 止" }else{ // 當(dāng)前若有有定時器在執(zhí)行,則停止定時器, 恢復(fù)初始狀態(tài) 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"> 隨機(jī)名單 </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>
感謝各位的閱讀!關(guān)于“JavaScript如何實(shí)現(xiàn)隨機(jī)點(diǎn)名程序”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
網(wǎng)站題目:JavaScript如何實(shí)現(xiàn)隨機(jī)點(diǎn)名程序-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://www.chinadenli.net/article10/degido.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、品牌網(wǎng)站設(shè)計、網(wǎng)站導(dǎo)航、微信公眾號、網(wǎng)站改版、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容