我会详细讲解“JavaScript实现班级抽签小程序”的完整攻略,以下是步骤:
我会详细讲解“JavaScript实现班级抽签小程序”的完整攻略,以下是步骤:
1. 设计页面
在HTML文件中,先设计出一个包含班级所有学生名字的列表,以及一个按钮用于触发抽签事件。示例代码如下:
<body>
<h1>班级抽签</h1>
<h2>名单</h2>
<ul id="nameList">
<li>张三</li>
<li>李四</li>
<li>王五</li>
<!-- 其余名字省略 -->
</ul>
<button id="drawButton" onclick="draw()">抽签</button>
<p id="result"></p>
</body>
2. 编写JavaScript逻辑
- 获取名单列表
使用querySelectorAll()
方法获取名单列表,并将结果存储在一个数组中。示例代码如下:
var names = document.querySelectorAll('#nameList li');
- 抽签事件
在点击抽签按钮时,随机从名单列表中选取一名学生。使用Math.random()
方法生成0到1之间的随机数,乘以名单长度,再向下取整获取一个随机下标,然后从名单列表中选取该下标对应的学生名字。示例代码如下:
function draw() {
var index = Math.floor(Math.random() * names.length);
var result = document.getElementById('result');
result.innerHTML = names[index].textContent + ' 被抽中了!';
}
3. 完整代码
HTML和JavaScript代码结合起来如下所示:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>班级抽签</title>
</head>
<body>
<h1>班级抽签</h1>
<h2>名单</h2>
<ul id="nameList">
<li>张三</li>
<li>李四</li>
<li>王五</li>
<!-- 其余名字省略 -->
</ul>
<button id="drawButton" onclick="draw()">抽签</button>
<p id="result"></p>
<script>
var names = document.querySelectorAll('#nameList li');
function draw() {
var index = Math.floor(Math.random() * names.length);
var result = document.getElementById('result');
result.innerHTML = names[index].textContent + ' 被抽中了!';
}
</script>
</body>
</html>
4. 示例说明
示例一:添加学生名单
在HTML中,我们可以添加或删除学生姓名,来实时改变名单列表。例如,新增一个学生“赵六”,只需在HTML代码中添加一行代码即可:
<ul id="nameList">
<li>张三</li>
<li>李四</li>
<li>王五</li>
<li>赵六</li>
<!-- 其余名字省略 -->
</ul>
示例二:改变抽签结果显示方式
我们也可以自定义抽签结果的显示方式,例如将抽中的学生名字背景颜色设为黄色。可以在draw()
函数中添加一行代码,来设置抽中学生的样式:
function draw() {
var index = Math.floor(Math.random() * names.length);
var result = document.getElementById('result');
result.innerHTML = names[index].textContent + ' 被抽中了!';
names[index].style.backgroundColor = 'yellow';
}
这样,抽中的学生就会以黄色的背景色在名单列表中突出显示。
本文标题为:JavaScript实现班级抽签小程序


基础教程推荐
- vue的路由动画切换页面无法读取meta值的bug记录 2023-07-10
- JS 设置Cookie 有效期 检测cookie 2024-01-30
- JavaScript 模块化详解 2023-08-11
- JS+CSS实现大气的黑色首页导航菜单效果代码 2023-12-27
- CSS实现ul和li横向排列的两种方法 2023-12-12
- vue项目中在方法中控制style的方式 2023-10-08
- 防止网页被搜索引擎爬虫和网页采集器收录的方法汇总 2024-02-03
- 微信小程序实现文章关注功能详细流程 2022-08-30
- php – 将html select form的值插入mysql数据库 2023-10-26
- CSS伪元素 CSS:before CSS伪元素(Pseudo Element):after与:before 2023-12-29