用JS来制作一个随机点名器的方法及代码是什么
Admin 2022-05-30 群英技术资讯 832 次浏览
关于“用JS来制作一个随机点名器的方法及代码是什么”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的朋友就继续往下看吧。最近学了一点前端内容,老师让用js设计一个班里的随机点名器。就尝试写了一个,具体实现效果如图:

<!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="../callTheRoll/bootstrap-3.3.7-dist/css/bootstrap.min.css" type="text/css" rel="stylesheet">
</head>
<style>
div {
float: left;
}
button {
background-color: moccasin;
margin: 30px;
height: 50px;
width: 150px;
border: rgb(245, 165, 165) 1px solid;
font-size: 18px;
}
.wai {
margin-left: 200px;
width: 1300px;
}
.name {
height: 40px;
width: 100px;
margin: 4px;
padding: 10px;
font-size: 18px;
background-color: mistyrose;
}
</style>
<!-- onload : 事件会在页面或图像加载完成后立即发生。 -->
<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>
<script type="text/javascript">
var nameArr = [
"空", "张家家", "许雪雪", "王橘橘", "陈韵", "马本本", "张志志", "唐豪豪", "高洋洋", "朱阳阳", "王山山", "空",
"尹方方", "王零零", "李远远", "吴杰", "李玉玉", "李雯雯", "步一一", "崔明明", "肖金金", "陈晴晴", "赵飞飞", "空",
"李英英", "李洋阳", "刘俊郡", "王泊", "廉云云", "王子俊", "康三三", "李浩浩", "张艺艺", "徐叶叶", "李宏宏", "雷康康",
"张青青", "王乐乐", "空", "杨童童", "张君君", "孙明", "何龙龙", "郑轩轩", "任平平", "孙超超", "空", "贺涛涛",
"空", "空", "空", "空", "熊秀秀", "薄嘉嘉", "薛万万", "尹飞", "张杰", "胡万万", "空", "马文文"
];
var index = 0;
var k = 1; // 记录不为空的座位
// 生成作为表
function A() {
for (var i = 0; i < nameArr.length; i++) {
if (nameArr[i].length > 1) {
// 创建div标签(html元素)
var div = document.createElement("div");
div.setAttribute("class", "name");
div.setAttribute("id", index++ + "");
var text = document.createTextNode(nameArr[i]);
div.appendChild(text);
// 添加元素
document.getElementById("names").appendChild(div);
// 每排12人,所以每隔12,添加一个换行符
if ((i + 1) % 12 == 0) {
var br = document.createElement("br");
document.getElementById("names").appendChild(br);
}
k++; // 添加一个学生,k自增1,记录学生(不为空的座位)个数
} else {
var div = document.createElement("div");
div.setAttribute("class", "name");
// div.setAttribute("id", index++ + "");
// 如果当前元素长度小于等于1时,则代表当前座位为空,所以不给当前div添加id属性,方便后续随机选人时,避开空座位
var text = document.createTextNode(nameArr[i]);
div.appendChild(text);
// 添加元素
document.getElementById("names").appendChild(div);
if ((i + 1) % 12 == 0) {
var br = document.createElement("br");
document.getElementById("names").appendChild(br);
}
}
}
}
// 定义一个id标志
var index2 = -1;
function restore() {
// 还原颜色
if (index2 != -1) {
document.getElementById(index2 + "").style.cssText = "background: mistyrose";
}
// 生成随机数,用K生成随机数,此时K代表不为空的作为个数
var num = Math.floor(Math.random() * k);
document.getElementById(num + "").style.cssText = "background-color:red";
index2 = num; // 记录当前被选中的id,在下次执行该函数时,将颜色还原
}
var time; // 用于接收计时器,方便关计时器时操作
var n = 1; // 定义状态正在执行 n=0 , 已经结束 n=1
function start() {
if (n == 1) {
// DOM setInterval()方法 计时器
time = setInterval("restore()", 80);
n = 0;
}
}
function end() {
if (n == 0) {
clearInterval(time);
alert("请" + document.getElementById(index2 + "").innerHTML + "同学回答问题");
n = 1;
}
}
</script>
</body>
</html>
在这里对计时器做一下介绍:
setInterval(code,millisec),这两个参数都是必须的; 第一个参数是要调用的函数或要执行的代码串。 第二个参数是毫秒值,表示的是隔多久执行一次code(参数一)。 clearInterval(id_of_setinterval),参数是必须的; 这个参数表示setInterval返回的ID值,即在代码中我设置的time
(本人是小白一个,所以写的有什么问题也请各位指出,可以让我及时改正,谢谢)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
目录正文这里有两个方法方法一:这个比较集中方法二:cookie存取各封装成函数正文在京东上浏览的时候,发现了一个比较人性化的小功能,浏览商品,浏览到一半的时候,如下图所示:我重新加载网页,刷新之后,滚动条依然定位在我刚刚浏览的位置,这个小功能感觉还不错,挺方便的。具体是怎么实现的呢,去网上大概查了一下。这个是使用滚动条
问题:TypeScript 中为函数添加多个签名后,依然需要添加相应的代码来判断并从不同的签名参数列表中获取对应的参数。过去常见的写法:function refEventEmitter(event?: string): void;function refEventEmitter(event: string, callb
这篇文章给大家分享的是用JS实现重置功能的方法。对于重置的功能大家应该都不陌生,当网页填写的信息需要大量修改时,重置功能快速的重置页面,非常的方便。文中的示例代码介绍得很详细,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。
这篇文章主要为大家详细介绍了js实现有趣的倒计时效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
JavaScript实现网页带动画返回顶部的方法详解 服务器由阿里云换到了腾讯云,我的代码之前一直都是托管在git上的,但是搬家的时候,可能是着急了,之前有些新加的文件没有托管到git上,所以,就丢了. 不过无所谓了,可以重新写嘛. 之前博客的回到顶部功能是请之前的一位前端的同事帮忙写的,这次打算自己尝试一下. 返回顶部无非就是锚点. 第一个版本: <body style="height:2000px;"> <div id="topAnchor"></div> <a ...
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008