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

錄制的gif效果圖沒(méi)那么理想,其實(shí)速度是比這個(gè)快的
思路:
1.定義一個(gè)數(shù)組,存放名單
2.啟動(dòng)定時(shí)器,設(shè)定間隔時(shí)間不斷調(diào)用函數(shù)
3.Math.random()獲取隨機(jī)下標(biāo),根據(jù)下標(biāo)的隨機(jī)變換取出數(shù)組中對(duì)應(yīng)的元素
4.邏輯代碼完成后,通過(guò)DOM對(duì)象把變化的結(jié)果呈現(xiàn)在頁(yè)面上
JS代碼:
<script>
var arr = ["唐僧", "孫悟空", "豬八戒", "沙悟凈", "白骨精", "玉皇大帝", "紅孩兒", "白骨精", "太上老君"]
var myTimer = null //定時(shí)器編號(hào)
// 既是啟動(dòng)定時(shí)器的函數(shù),也是停止定時(shí)器的函數(shù)
function goAndStop(){
// 如果當(dāng)前沒(méi)有定時(shí)器在執(zhí)行,則啟動(dòng),否則,停止定時(shí)器;
if(myTimer == null){
// 啟動(dòng)定時(shí)器,隨機(jī)下標(biāo),取出名字
myTimer = setInterval(function(){
// 1、隨機(jī)下標(biāo)
var index = parseInt(Math.random()*arr.length)
// 2、根據(jù)下標(biāo)取出學(xué)生的姓名,顯示在頁(yè)面上
document.getElementById("stuName").innerHTML = arr[index]
},10);
//啟動(dòng)定時(shí)器的同時(shí),改變按鈕狀態(tài),為下次單擊做準(zhǔn)備
document.getElementById("btn").value = "停 止"
}else{
// 當(dāng)前若有有定時(shí)器在執(zhí)行,則停止定時(shí)器, 恢復(fù)初始狀態(tài)
window.clearInterval(myTimer)
myTimer = null
document.getElementById("btn").value = "開(kāi) 始"
}
}
</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="開(kāi) 始" 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 = "開(kāi) 始"
}
}
</script>
這是我的一些思路,分享給大家!
如果你有更好的方法,歡迎下方留言相互交流!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- javascript實(shí)現(xiàn)的一個(gè)隨機(jī)點(diǎn)名功能
- JS+CSS實(shí)現(xiàn)隨機(jī)點(diǎn)名(實(shí)例代碼)
- 使用javascript做的一個(gè)隨機(jī)點(diǎn)名程序
- js實(shí)現(xiàn)隨機(jī)點(diǎn)名系統(tǒng)(實(shí)例講解)
- JS實(shí)現(xiàn)課堂隨機(jī)點(diǎn)名和順序點(diǎn)名
- JS實(shí)現(xiàn)隨機(jī)點(diǎn)名器
- js實(shí)現(xiàn)隨機(jī)點(diǎn)名小功能
- js實(shí)現(xiàn)簡(jiǎn)單的隨機(jī)點(diǎn)名器
- JavaScript實(shí)現(xiàn)隨機(jī)點(diǎn)名器
- 利用前端寫(xiě)一個(gè)隨機(jī)點(diǎn)名網(wǎng)頁(yè)完整代碼
相關(guān)文章
javascript substr和substring用法比較
在js中substring和substr都是用來(lái)截取字符串的,那么substring和substr之間的具體區(qū)別在哪里,有沒(méi)有區(qū)別呢,下面我來(lái)給各位詳細(xì)引用一些實(shí)例來(lái)介紹這些問(wèn)題2009-06-06
JavaScript實(shí)現(xiàn)帶音效的煙花特效
這篇文章主要為大家介紹了通過(guò)JavaScript實(shí)現(xiàn)的帶音效的煙花特效,文中的示例代碼簡(jiǎn)潔易懂,對(duì)我們學(xué)習(xí)JavaScript有一定的幫助,感興趣的可以了解一下2021-12-12
js添加table的行和列 具體實(shí)現(xiàn)方法
這篇文章介紹了js添加table的行和列 具體實(shí)現(xiàn)方法,有需要的朋友可以參考一下2013-07-07
JS項(xiàng)目中對(duì)本地存儲(chǔ)進(jìn)行二次的封裝的實(shí)現(xiàn)
這篇文章主要介紹了JS項(xiàng)目中對(duì)本地存儲(chǔ)進(jìn)行二次的封裝,這里我們將要使用到的key存儲(chǔ)下來(lái),新建一個(gè)叫constant-storage.js的文件,對(duì)外暴露一些key的鍵名,也方便后期統(tǒng)一修改,這里因?yàn)槎际呛懔?,所以名稱我們都用大寫(xiě)表示,需要的朋友可以參考下2022-07-07
JavaScript實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器功能
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03
JavaScript事件監(jiān)聽(tīng)之鍵盤(pán)事件詳細(xì)介紹
在實(shí)際應(yīng)用中我們常常會(huì)遇到監(jiān)聽(tīng)按鍵輸入和鼠標(biāo)點(diǎn)擊事件,下面這篇文章主要給大家介紹了關(guān)于JavaScript事件監(jiān)聽(tīng)之鍵盤(pán)事件的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06
JavaScript實(shí)現(xiàn)留言板實(shí)戰(zhàn)案例
這篇文章主要給大家介紹了關(guān)于JavaScript實(shí)現(xiàn)留言板的相關(guān)資料,使用JavaScript來(lái)編寫(xiě)留言板功能相信大家都不陌生,文中給出了詳細(xì)的示例代碼,需要的朋友可以參考下2023-07-07
移動(dòng)端H5開(kāi)發(fā) Turn.js實(shí)現(xiàn)很棒的翻書(shū)效果
這篇文章主要為大家詳細(xì)介紹了Turn.js實(shí)現(xiàn)很棒的翻書(shū)效果,對(duì)Turn.js翻書(shū)效果的實(shí)現(xiàn)進(jìn)行總結(jié),感興趣的小伙伴們可以參考一下2016-06-06
JS中數(shù)組與對(duì)象相互轉(zhuǎn)換的實(shí)現(xiàn)方式
這篇文章主要介紹了JS中數(shù)組與對(duì)象相互轉(zhuǎn)換的實(shí)現(xiàn)方式,文章通過(guò)代碼示例講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-04-04

