js实现随机点名系统(实例讲解)


Posted in Javascript onOctober 18, 2017

废话不多说,直接上代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>随机点名</title>
<style type="text/css">
td{
text-align: center;
}
</style>
</head>
<body>
<table width="760" border="1" height="460" align="center">
<h1 align="center">随机点名系统</h1>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<div align="center">
<br/>
<br/>
<input type="button" value="随机抽取" onclick="selectRandom();"/>
<input type="button" value="打乱顺序" onclick="Upsetorder();"/>
<br/>
<br/>
<input type="button" value="快速抽取" onclick="Quickextr();"/>
<input type="button" value="停止抽取" onclick="Stopextr();"/>
</div>
<script type="text/javascript">
var classMate = ["周远康","刘婷婷","戴娜","范凯","向彬",
"胡波","胡辉","黄缘平","刘云","刘嘉鑫",
"赵福全","王小妹","苏伟","李辉","曾伟",
"李佳晓","钟仕文","张志强","袁鑫豪","余日成",
"付立金","彭福康","邓慧佳","曹蓉","刘未东",
"桂义","彭俊斌","周康华","曹增","蒋煜"];
//定义一个变量存随机数组
var indexArr;
//打乱顺序
function Upsetorder(){
alert(1);
//初始化数组
indexArr = [];
//获取新的随机数
var rd = parseInt(Math.random()*classMate.length);
while(true){
do{
var falg = true;
//循环获得每一个下标
for (var i = 0 ; i <classMate.length ; i++) {
//判断是否已存在这个下标,是否为重复之后 跳出
if(indexArr[i] == rd){
falg = false;
break;
}
}
//判断是否添加
if(falg){
indexArr.push(rd);
}
rd = parseInt(Math.random()*classMate.length);
}while (falg);
if(indexArr.length == classMate.length){
break;
}
}
}
//随机抽取
function selectRandom(){
var allTd = document.getElementsByTagName("td");
for (var i = 0; i < classMate.length; i++) {
allTd[i].innerHTML = classMate[indexArr[i]];
allTd[i].style.color = "#ff6633";
allTd[i].style.background = "#ff6633";
allTd[i].onclick = function (){
this.style.background = "white";
}
}
}
//快速抽取
var interId;
var count = 0;
//保存已被选出的人
var myChecked = [];
var allTd = document.getElementsByTagName("td");
function Quickextr(){
if(interId){
return;
}
//把所有的td还原为最初
interId = setInterval(function(){
for (var i = 0; i < classMate.length; i++) {
allTd[i].style.color = "#ff6633";
allTd[i].style.background = "#ff6633";
}
for (var i = 0; i < myChecked.length; i++) {
allTd[myChecked[i]].style.color = "#ff6633";
allTd[myChecked[i]].style.background = "white";
}
allTd[count%classMate.length].style.color = "white";
allTd[count%classMate.length].style.background = "white";
count++;
},1);
}
//停止抽取
function Stopextr(){
clearInterval(interId);
interId = undefined;
var checkIds = count%classMate.length==0?classMate.length-1:(count%classMate.length)-1;
allTd[checkIds].style.color = "#ff6633";
myChecked.push(checkIds);
}
</script>
</body>
</html>

以上这篇js实现随机点名系统(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 三种创建对象的方法
Oct 16 Javascript
jquery实现效果比较好的table选中行颜色
Mar 25 Javascript
JS实现闪动的title消息提醒效果
Jun 20 Javascript
jquery插件qrcode在线生成二维码
Apr 26 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
Jul 22 Javascript
AngularJS 入门教程之HTML DOM实例详解
Jul 28 Javascript
js拖拽功能实现代码解析
Nov 28 Javascript
vue实现的树形结构加多选框示例
Feb 02 Javascript
基于Vue插入视频的2种方法小结
Apr 02 Javascript
微信小程序实现的一键复制功能示例
Apr 24 Javascript
JavaScript实现星级评价效果
May 17 Javascript
用Angular实现一个扫雷的游戏示例
May 15 Javascript
原生JS获取元素的位置与尺寸实现方法
Oct 18 #Javascript
详谈commonjs模块与es6模块的区别
Oct 18 #Javascript
从源码看angular/material2 中 dialog模块的实现方法
Oct 18 #Javascript
详解http访问解析流程原理
Oct 18 #Javascript
js实现会跳动的日历效果(完整实例)
Oct 18 #Javascript
打字效果动画的4种实现方法(超简单)
Oct 18 #Javascript
Angularjs 手写日历的实现代码(不用插件)
Oct 18 #Javascript
You might like
PHP学习之数组的定义和填充
2011/04/17 PHP
PHP MVC框架路由学习笔记
2016/03/02 PHP
值得分享的php+ajax实时聊天室
2016/07/20 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
2017/05/05 PHP
利用laravel搭建一个迷你博客实战教程
2017/08/13 PHP
Iframe thickbox2.0使用的方法
2009/03/05 Javascript
JavaScript下利用fso判断文件是否存在的代码
2010/12/11 Javascript
jquery.tmpl JQuery模板插件
2011/10/10 Javascript
xml转json的js代码
2012/08/28 Javascript
Ajax异步提交表单数据的说明及方法实例
2013/06/22 Javascript
动态获取复选框checkbox选中个数的jquery代码
2013/06/25 Javascript
js绘制圆形和矩形的方法
2015/08/05 Javascript
javascript 显示全局变量与隐式全局变量的区别
2017/02/09 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
详解用vue-cli来搭建vue项目和webpack
2017/04/20 Javascript
layui前端框架之table表数据的刷新方法
2018/08/17 Javascript
JS使用队列对数组排列,基数排序算法示例
2019/03/02 Javascript
nodejs实现聊天机器人功能
2019/09/19 NodeJs
js使用文档就绪函数动态改变页面内容示例【innerHTML、innerText】
2019/11/07 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
[01:03:59]2018DOTA2亚洲邀请赛3月30日 小组赛B组VGJ.T VS Secret
2018/03/31 DOTA
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
linux系统使用python获取内存使用信息脚本分享
2014/01/15 Python
Pandas之Fillna填充缺失数据的方法
2019/06/25 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
python如何实现异步调用函数执行
2019/07/08 Python
pytorch中的自定义反向传播,求导实例
2020/01/06 Python
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
荷兰在线钓鱼商店:Raven
2019/06/26 全球购物
英国手工制作的现代与经典的沙发和床:Love Your Home
2020/09/26 全球购物
存储过程和函数的区别
2013/05/28 面试题
搞笑获奖感言
2014/01/30 职场文书
小组合作学习反思
2014/02/18 职场文书
七匹狼男装广告词
2014/03/21 职场文书
入党介绍人意见2015
2015/06/01 职场文书
学校教代会开幕词
2016/03/04 职场文书