使用原生JavaScript实现随机点名功能
版权申诉
2 浏览量
更新于2024-08-20
收藏 18KB DOCX 举报
“如何使用原生Js实现随机点名详解”
在JavaScript中实现一个随机点名器是一个常见的前端小项目,它可以帮助我们学习基本的DOM操作和数组处理。下面将详细介绍如何使用JavaScript实现这个功能。
首先,我们需要一个包含学生姓名的数组。在提供的代码中,我们看到一个名为`nameArr`的变量,其中存储了多个学生的名字。这些名字被用作随机选择的基础。
```javascript
var nameArr = [
"空", "张家家", "许雪雪", "王橘橘", "陈韵", "马本本", "张志志", "唐豪豪", "高洋洋", "朱阳阳", "王山山", "空",
"尹方方", "王零零", "李远远", "吴杰", "李玉玉", "李雯雯", "步一一", ""
];
```
接着,我们需要在HTML中创建用户界面。这里有一个简单的布局,包括两个按钮(开始和结束)以及一个用于显示点名结果的`div`元素:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>点名</title>
<link href="bootstrap.min.css" type="text/css" rel="stylesheet">
<!-- 更多样式 -->
</head>
<body onload="A()">
<div class="wai" align="center">
<table>
<button class="start" onclick="start()">开始</button>
<button class="end" onclick="end()">结束</button>
</table>
<div id="names"></div>
</div>
<!-- 更多脚本 -->
</body>
</html>
```
在CSS部分,我们定义了按钮和显示姓名的`div`元素的样式,使其看起来更美观。
为了实现点名功能,我们需要编写JavaScript函数来处理按钮点击事件。在提供的代码中,有两个函数:`start()` 和 `end()`。`start()` 函数用于开始点名,而 `end()` 函数则用于结束并清除当前的点名结果。
```javascript
function start() {
var namesDiv = document.getElementById('names');
namesDiv.innerHTML = '';
// 从nameArr中随机选择一个名字
var randomIndex = Math.floor(Math.random() * nameArr.length);
var randomName = nameArr[randomIndex];
// 防止选择到“空”值
while (randomName === "空") {
randomIndex = Math.floor(Math.random() * nameArr.length);
randomName = nameArr[randomIndex];
}
// 在界面上显示随机选中的名字
namesDiv.innerHTML = '<p>' + randomName + '</p>';
}
function end() {
document.getElementById('names').innerHTML = '';
}
```
`start()`函数首先清空`names` div中的内容,然后生成一个随机索引,从`nameArr`中选取一个名字。为了避免选择到"空"值,我们使用了一个循环来确保选取到有效名字。最后,将随机选取的名字添加到界面上。
`end()`函数则简单地清空了`names` div,以便于重新开始点名。
以上就是使用原生JavaScript实现随机点名器的基本步骤。通过这个项目,我们可以学习到JavaScript中的数组操作、DOM元素的访问与修改、事件处理以及简单的条件判断。这个点名器可以作为一个基础的练习,帮助初学者更好地理解JavaScript在实际应用中的工作方式。
2021-12-29 上传
2024-09-05 上传
2024-09-05 上传
2024-10-17 上传
2023-06-26 上传
2023-02-24 上传
2023-06-10 上传
2023-05-31 上传
2023-09-04 上传
mmoo_python
- 粉丝: 6292
- 资源: 1万+
最新资源
- Java毕业设计项目:校园二手交易网站开发指南
- Blaseball Plus插件开发与构建教程
- Deno Express:模仿Node.js Express的Deno Web服务器解决方案
- coc-snippets: 强化coc.nvim代码片段体验
- Java面向对象编程语言特性解析与学生信息管理系统开发
- 掌握Java实现硬盘链接技术:LinkDisks深度解析
- 基于Springboot和Vue的Java网盘系统开发
- jMonkeyEngine3 SDK:Netbeans集成的3D应用开发利器
- Python家庭作业指南与实践技巧
- Java企业级Web项目实践指南
- Eureka注册中心与Go客户端使用指南
- TsinghuaNet客户端:跨平台校园网联网解决方案
- 掌握lazycsv:C++中高效解析CSV文件的单头库
- FSDAF遥感影像时空融合python实现教程
- Envato Markets分析工具扩展:监控销售与评论
- Kotlin实现NumPy绑定:提升数组数据处理性能