看这一段代码 !DOCTYPE html html lang=en head meta charset=UTF-8 meta name=viewport content=width=device-width initial-scale=10maximum-scale=1minimum-scale=1user-scalable=no title03-点名系统htmltitl
这段代码是一个简单的点名系统。在页面上有一个标题、一个按钮和一个名单列表。点击按钮后,会在名单列表中随机选中一个人,并将其显示在标题上。
具体实现逻辑如下:
- 首先,通过
document.querySelector方法获取到按钮、名单列表和标题的元素。 - 定义一个空数组
arr1来存放已经被选中的人的索引。 - 给按钮添加一个点击事件监听器,当点击按钮时执行以下操作:
- 设置一个定时器,延迟一秒,将
flag变量设为true,表示可以开始选人。 - 设置一个间隔定时器,每隔300毫秒执行以下操作:
- 创建一个空数组
arr,用来存放名单列表中所有人的索引。 - 遍历名单列表中的每个人,将其索引加入
arr数组中。 - 生成一个随机数
randomNum,范围为0到名单列表长度之间的整数。 - 遍历
arr数组,判断当前遍历到的索引是否等于随机数randomNum:- 如果相等,移除名单列表中已经被选中的人的样式,并将当前遍历到的人添加上
active样式,表示被选中。 - 如果
flag为true,表示选人结束,执行以下操作:- 移除名单列表中已经被选中的人的
active样式,添加上select样式,表示最终被选中。 - 从
arr数组中移除当前被选中的人的索引。 - 修改标题的内容,显示被选中的人的名字。
- 清除间隔定时器。
- 将
flag设回false。 - 将当前被选中的人的索引添加到
arr1数组中,表示已经被选中。
- 移除名单列表中已经被选中的人的
- 如果相等,移除名单列表中已经被选中的人的样式,并将当前遍历到的人添加上
- 创建一个空数组
- 设置一个定时器,延迟一秒,将
- 代码结束。
这个点名系统的实现逻辑比较简单,通过使用定时器和随机数来模拟点名的过程,并通过添加和移除样式来表示被选中的人
原文地址: http://www.cveoy.top/t/topic/hTxt 著作权归作者所有。请勿转载和采集!