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 相关文章推荐
jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明
Jun 27 Javascript
JavaScript判断DOM何时加载完毕的技巧
Nov 11 Javascript
node.js中的buffer.slice方法使用说明
Dec 10 Javascript
JS实现适合于后台使用的动画折叠菜单效果
Sep 21 Javascript
easyui 中的datagrid跨页勾选问题的实现方法
Jan 18 Javascript
js代码延迟一定时间后执行一个函数的实例
Feb 15 Javascript
jQuery获取Table某列的值(推荐)
Mar 03 Javascript
vue使用自定义icon图标的方法
May 14 Javascript
小程序scroll-view组件实现滚动的示例代码
Sep 20 Javascript
Vue中的Props(不可变状态)
Sep 29 Javascript
JavaScript享元模式原理与用法实例详解
Mar 09 Javascript
react中props 的使用及进行限制的方法
Apr 28 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 Memcached + APC + 文件缓存封装实现代码
2010/03/11 PHP
php下保存远程图片到本地的办法
2010/08/08 PHP
PHP中对用户身份认证实现两种方法
2011/06/04 PHP
php定界符
2014/06/19 PHP
php批量删除cookie的简单实现方法
2015/01/26 PHP
php+mysqli使用面向对象方式更新数据库实例
2015/01/29 PHP
关于PHP内置的字符串处理函数详解
2017/02/04 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
Array.slice()与Array.splice()的返回值类型
2006/10/09 Javascript
JavaScript语言中的Literal Syntax特性分析
2007/03/08 Javascript
JS焦点图切换,上下翻转
2011/05/12 Javascript
从jQuery.camelCase()学习string.replace() 函数学习
2011/09/13 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
JavaScript/Js脚本处理html元素的自定义属性解析(亲测兼容Firefox与IE)
2013/11/25 Javascript
DOM节点删除函数removeChild()用法实例
2015/01/12 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
2015/06/14 Javascript
js date 格式化
2017/02/15 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
2017/12/20 Javascript
详解VUE单页应用骨架屏方案
2019/01/17 Javascript
js实现div色块拖动录制
2020/01/16 Javascript
[01:13:08]2018DOTA2亚洲邀请赛4.6 淘汰赛 mineski vs LGD 第二场
2018/04/10 DOTA
python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
2014/06/09 Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
2016/04/20 Python
详解Python中类的定义与使用
2017/04/11 Python
Python实现简单的语音识别系统
2017/12/13 Python
基于numpy.random.randn()与rand()的区别详解
2018/04/17 Python
python3实现钉钉消息推送的方法示例
2019/03/14 Python
如何实现更换Jupyter Notebook内核Python版本
2020/05/18 Python
html5定位获取当前位置并在百度地图上显示
2014/08/22 HTML / CSS
英国礼品和生活方式品牌:Treat Republic
2020/11/21 全球购物
小组合作学习反思
2014/02/18 职场文书
2015年业务员工作总结范文
2015/04/07 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
应收账款管理制度
2015/08/06 职场文书
一篇带你入门Java垃圾回收器
2021/06/16 Java/Android
浅谈css清除浮动(clearfix和clear)的用法
2023/05/21 HTML / CSS