JavaScript實(shí)現(xiàn)隨機(jī)點(diǎn)名的示例代碼
需求
分為上下兩個(gè)部分,上方為顯示區(qū)域,下方為控制區(qū)域。顯示區(qū)域顯示基地所有成員的工號和姓名,控制區(qū)域由開始和結(jié)束兩個(gè)按鈕組成。點(diǎn)擊開始按鈕,顯示區(qū)域里的內(nèi)容開始滾動(dòng),點(diǎn)擊結(jié)束按鈕,內(nèi)容滾動(dòng)停止,隨機(jī)顯示一位成員的工號和姓名
演示圖

思路
HTML結(jié)構(gòu):
包含一個(gè)用于顯示的區(qū)域 displayArea 和一個(gè)控制區(qū)域 controlArea,控制區(qū)域包括開始和結(jié)束兩個(gè)按鈕。
CSS樣式:
- 設(shè)置基本樣式,包括字體、文本大小、邊距等。
displayArea使用overflow: hidden隱藏溢出的內(nèi)容。
JavaScript腳本:
- 創(chuàng)建一個(gè)包含基地成員工號和姓名的數(shù)組
members。 - 獲取顯示區(qū)域的元素。
- 實(shí)現(xiàn)
startScroll函數(shù),用于開始滾動(dòng)。 - 實(shí)現(xiàn)
stopScroll函數(shù),用于停止?jié)L動(dòng)。 - 實(shí)現(xiàn)
generateDisplayText函數(shù),用于生成顯示區(qū)域的內(nèi)容。 - 在點(diǎn)擊開始按鈕時(shí),啟動(dòng)定時(shí)器,每100毫秒更新一次顯示區(qū)域的內(nèi)容,實(shí)現(xiàn)滾動(dòng)效果。
- 在點(diǎn)擊結(jié)束按鈕時(shí),清除定時(shí)器,停止?jié)L動(dòng)。
按鈕事件:
- 通過按鈕的
onclick屬性,將相應(yīng)的函數(shù)綁定到按鈕上,實(shí)現(xiàn)開始和結(jié)束的控制。
代碼部分
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>成員工號和姓名滾動(dòng)</title>
<style>
body {
font-family: Arial, sans-serif;
text-align: center;
margin: 50px;
}
#displayArea {
font-size: 24px;
font-weight: bold;
height: 50px;
overflow: hidden;
border: 1px solid #ccc;
margin-bottom: 20px;
}
#controlArea {
margin-top: 20px;
}
button {
font-size: 18px;
padding: 10px 20px;
cursor: pointer;
}
</style>
</head>
<body>
<!-- 顯示區(qū)域 -->
<div id="displayArea"></div>
<!-- 控制區(qū)域 -->
<div id="controlArea">
<button onclick="startScroll()">開始</button>
<button onclick="stopScroll()">結(jié)束</button>
</div>
<script>
// 假設(shè)基地成員的工號和姓名存儲在一個(gè)數(shù)組中
var members = [
{ id: '001', name: '譚' },
{ id: '002', name: '李' },
{ id: '003', name: '吳' },
{ id: '004', name: '譚1' },
{ id: '005', name: '李2' },
{ id: '006', name: '吳3' },
{ id: '007', name: '譚4' },
{ id: '008', name: '李5' },
{ id: '009', name: '吳6' },
// 添加更多成員...
];
// 獲取顯示區(qū)域的元素
var displayArea = document.getElementById('displayArea');
// 設(shè)置顯示區(qū)域的初始內(nèi)容
displayArea.textContent = generateDisplayText();
// 變量聲明,用于存儲定時(shí)器和滾動(dòng)狀態(tài)
var scrollInterval;
var isScrolling = false;
// 開始滾動(dòng)函數(shù)
function startScroll() {
// 防止重復(fù)啟動(dòng)滾動(dòng)
if (!isScrolling) {
// 設(shè)置滾動(dòng)狀態(tài)為 true
isScrolling = true;
// 啟動(dòng)定時(shí)器,每100毫秒更新一次顯示區(qū)域的內(nèi)容
scrollInterval = setInterval(function() {
displayArea.textContent = generateDisplayText();
}, 100);
}
}
// 停止?jié)L動(dòng)函數(shù)
function stopScroll() {
// 清除定時(shí)器
clearInterval(scrollInterval);
// 設(shè)置滾動(dòng)狀態(tài)為 false
isScrolling = false;
}
// 生成顯示區(qū)域的內(nèi)容函數(shù)
function generateDisplayText() {
// 從成員數(shù)組中隨機(jī)選擇一位成員
var randomMember = members[Math.floor(Math.random() * members.length)];
// 返回工號和姓名的字符串
return `工號:${randomMember.id},姓名:${randomMember.name}`;
}
</script>
</body>
</html>
到此這篇關(guān)于JavaScript實(shí)現(xiàn)隨機(jī)點(diǎn)名的示例代碼的文章就介紹到這了,更多相關(guān)JavaScript隨機(jī)點(diǎn)名內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于dataset的使用和圖片延時(shí)加載的實(shí)現(xiàn)方法
下面小編就為大家分享一篇基于dataset的使用和圖片延時(shí)加載的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12
JavaScript清空數(shù)組元素的兩種方法簡單比較
這篇文章主要介紹了JavaScript清空數(shù)組元素的兩種方法簡單比較,羅列了幾種常見的情況javascript數(shù)組的方法,并且比較了其中的兩種常見方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
JavaScript實(shí)現(xiàn)頁面實(shí)時(shí)顯示當(dāng)前時(shí)間的簡單實(shí)例
這篇文章介紹了頁面實(shí)時(shí)顯示當(dāng)前時(shí)間的簡單實(shí)例,有需要的朋友可以參考需要2013-07-07
用js實(shí)現(xiàn)終止瀏覽器對頁面HTML的繼續(xù)解析即停止解析 兼容firefox
用js實(shí)現(xiàn)終止瀏覽器對頁面HTML的繼續(xù)解析即停止解析 兼容firefox...2007-11-11

