JavaScript實現(xiàn)隨機點名的示例代碼
需求
分為上下兩個部分,上方為顯示區(qū)域,下方為控制區(qū)域。顯示區(qū)域顯示基地所有成員的工號和姓名,控制區(qū)域由開始和結(jié)束兩個按鈕組成。點擊開始按鈕,顯示區(qū)域里的內(nèi)容開始滾動,點擊結(jié)束按鈕,內(nèi)容滾動停止,隨機顯示一位成員的工號和姓名
演示圖
思路
HTML結(jié)構(gòu):
包含一個用于顯示的區(qū)域 displayArea
和一個控制區(qū)域 controlArea
,控制區(qū)域包括開始和結(jié)束兩個按鈕。
CSS樣式:
- 設(shè)置基本樣式,包括字體、文本大小、邊距等。
displayArea
使用overflow: hidden
隱藏溢出的內(nèi)容。
JavaScript腳本:
- 創(chuàng)建一個包含基地成員工號和姓名的數(shù)組
members
。 - 獲取顯示區(qū)域的元素。
- 實現(xiàn)
startScroll
函數(shù),用于開始滾動。 - 實現(xiàn)
stopScroll
函數(shù),用于停止?jié)L動。 - 實現(xiàn)
generateDisplayText
函數(shù),用于生成顯示區(qū)域的內(nèi)容。 - 在點擊開始按鈕時,啟動定時器,每100毫秒更新一次顯示區(qū)域的內(nèi)容,實現(xiàn)滾動效果。
- 在點擊結(jié)束按鈕時,清除定時器,停止?jié)L動。
按鈕事件:
- 通過按鈕的
onclick
屬性,將相應(yīng)的函數(shù)綁定到按鈕上,實現(xiàn)開始和結(jié)束的控制。
代碼部分
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>成員工號和姓名滾動</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è)基地成員的工號和姓名存儲在一個數(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(); // 變量聲明,用于存儲定時器和滾動狀態(tài) var scrollInterval; var isScrolling = false; // 開始滾動函數(shù) function startScroll() { // 防止重復(fù)啟動滾動 if (!isScrolling) { // 設(shè)置滾動狀態(tài)為 true isScrolling = true; // 啟動定時器,每100毫秒更新一次顯示區(qū)域的內(nèi)容 scrollInterval = setInterval(function() { displayArea.textContent = generateDisplayText(); }, 100); } } // 停止?jié)L動函數(shù) function stopScroll() { // 清除定時器 clearInterval(scrollInterval); // 設(shè)置滾動狀態(tài)為 false isScrolling = false; } // 生成顯示區(qū)域的內(nèi)容函數(shù) function generateDisplayText() { // 從成員數(shù)組中隨機選擇一位成員 var randomMember = members[Math.floor(Math.random() * members.length)]; // 返回工號和姓名的字符串 return `工號:${randomMember.id},姓名:${randomMember.name}`; } </script> </body> </html>
到此這篇關(guān)于JavaScript實現(xiàn)隨機點名的示例代碼的文章就介紹到這了,更多相關(guān)JavaScript隨機點名內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript中立即執(zhí)行函數(shù)實例詳解
javascript和其他編程語言相比比較隨意,所以javascript代碼中充滿各種奇葩的寫法,有時霧里看花,當(dāng)然,能理解各型各色的寫法也是對javascript語言特性更進一步的深入理解。這篇文章主要給大家介紹了關(guān)于JavaScript中立即執(zhí)行函數(shù)的相關(guān)資料,需要的朋友可以參考下。2017-11-11js的form表單提交url傳參數(shù)(包含+等特殊字符)的兩種解決方法
下面小編就為大家?guī)硪黄猨s的form表單提交url傳參數(shù)(包含+等特殊字符)的兩種解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05ES6新特性之解構(gòu)、參數(shù)、模塊和記號用法示例
這篇文章主要介紹了ES6新特性之解構(gòu)、參數(shù)、模塊和記號用法,結(jié)合實例形式分析了解構(gòu)、參數(shù)、模塊和記號的功能、用法及相關(guān)使用注意事項,需要的朋友可以參考下2017-04-04JavaScript 中的 `==` 和 `===` 操作符詳解
在 JavaScript 中,== 和 === 是兩個常用的比較操作符,分別用于 寬松相等(類型轉(zhuǎn)換相等) 和 嚴格相等(類型和值必須相等) 的比較,理解它們的區(qū)別以及具體的比較規(guī)則對于編寫準確和高效的代碼至關(guān)重要,需要的朋友可以參考下2024-09-09使用JavaScript實現(xiàn)頁面局部更新的方法總結(jié)
在JavaScript中,Ajax(Asynchronous JavaScript and XML)是一種用于在后臺與服務(wù)器進行異步通信的技術(shù),本文給大家介紹了使用JavaScript實現(xiàn)頁面局部更新的三種方法,文中通過代碼示例給大家介紹的非常詳細,需要的朋友可以參考下2023-12-12