JavaScript實現(xiàn)隨機點名程序
本文實例為大家分享了js實現(xiàn)隨機點名程序的具體代碼,供大家參考,具體內(nèi)容如下
效果:

錄制的gif效果圖沒那么理想,其實速度是比這個快的
思路:
1.定義一個數(shù)組,存放名單
2.啟動定時器,設(shè)定間隔時間不斷調(diào)用函數(shù)
3.Math.random()獲取隨機下標,根據(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){
// 啟動定時器,隨機下標,取出名字
myTimer = setInterval(function(){
// 1、隨機下標
var index = parseInt(Math.random()*arr.length)
// 2、根據(jù)下標取出學(xué)生的姓名,顯示在頁面上
document.getElementById("stuName").innerHTML = arr[index]
},10);
//啟動定時器的同時,改變按鈕狀態(tài),為下次單擊做準備
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">
隨機名單
</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>
這是我的一些思路,分享給大家!
如果你有更好的方法,歡迎下方留言相互交流!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
javascript substr和substring用法比較
在js中substring和substr都是用來截取字符串的,那么substring和substr之間的具體區(qū)別在哪里,有沒有區(qū)別呢,下面我來給各位詳細引用一些實例來介紹這些問題2009-06-06
JavaScript實現(xiàn)留言板實戰(zhàn)案例
這篇文章主要給大家介紹了關(guān)于JavaScript實現(xiàn)留言板的相關(guān)資料,使用JavaScript來編寫留言板功能相信大家都不陌生,文中給出了詳細的示例代碼,需要的朋友可以參考下2023-07-07
移動端H5開發(fā) Turn.js實現(xiàn)很棒的翻書效果
這篇文章主要為大家詳細介紹了Turn.js實現(xiàn)很棒的翻書效果,對Turn.js翻書效果的實現(xiàn)進行總結(jié),感興趣的小伙伴們可以參考一下2016-06-06
JS中數(shù)組與對象相互轉(zhuǎn)換的實現(xiàn)方式
這篇文章主要介紹了JS中數(shù)組與對象相互轉(zhuǎn)換的實現(xiàn)方式,文章通過代碼示例講解的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-04-04

