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 相关文章推荐
Add a Picture to a Microsoft Word Document
Jun 15 Javascript
ajax 缓存 问题 requestheader
Aug 01 Javascript
js 判断脚本加载完毕的代码
Jul 13 Javascript
javascript检测浏览器flash版本的实现代码
Dec 06 Javascript
使用JavaScript动态设置样式实现代码(2)
Jan 25 Javascript
js实现支持手机滑动切换的轮播图片效果实例
Apr 29 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
Aug 23 Javascript
Vue中建立全局引用或者全局命令的方法
Aug 21 Javascript
node基于puppeteer模拟登录抓取页面的实现
May 09 Javascript
Jquery的Ajax技术使用方法
Jan 21 jQuery
基于JS实现table导出Excel并保留样式
May 19 Javascript
浅谈JavaScript作用域
Dec 06 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 新手入门教程
2009/08/03 PHP
比file_get_contents稳定的curl_get_contents分享
2012/01/11 PHP
Laravel关系模型指定条件查询方法
2019/10/10 PHP
jquery.simple.tree插件 更简单,兼容性更好的无限树插件
2010/09/03 Javascript
JQuery获取当前屏幕的高度宽度的实现代码
2011/07/12 Javascript
jQuery fadeTo方法调整图片的透明度使用介绍
2013/05/06 Javascript
jQuery动画效果animate和scrollTop结合使用实例
2014/04/02 Javascript
javascript实现2048游戏示例
2014/05/04 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
AngularJS报错$apply already in progress的解决方法分析
2017/01/30 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
2017/12/09 Javascript
使用proxy实现一个更优雅的vue【推荐】
2018/06/19 Javascript
JS加密插件CryptoJS实现AES加密操作示例
2018/08/16 Javascript
Vue2.0 v-for filter列表过滤功能的实现
2018/09/07 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
2019/05/02 Javascript
vue 需求 data中的数据之间的调用操作
2020/08/05 Javascript
JQuery Ajax如何实现注册检测用户名
2020/09/25 jQuery
js实现移动端轮播图滑动切换
2020/12/21 Javascript
[03:01]完美盛典趣味短片 DOTA2年度最佳&拉胯英雄
2019/12/07 DOTA
pycharm 使用心得(三)Hello world!
2014/06/05 Python
Python在图片中添加文字的两种方法
2017/04/29 Python
Python装饰器原理与简单用法实例分析
2018/04/29 Python
对python中url参数编码与解码的实例详解
2019/07/25 Python
Python如何访问字符串中的值
2020/02/09 Python
如何利用python读取micaps文件详解
2020/10/18 Python
python 读取串口数据的示例
2020/11/09 Python
Html5插件教程之添加浏览器放大镜效果的商品橱窗
2016/01/07 HTML / CSS
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
意大利奢侈品购物网站:Deliberti
2019/10/08 全球购物
办公室综合文员岗位职责范本
2014/02/13 职场文书
校企合作协议书
2014/04/16 职场文书
党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
2014年城管个人工作总结
2014/12/08 职场文书
交通事故代理词范文
2015/05/23 职场文书
Redis三种集群模式详解
2021/10/05 Redis
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏