js实现课堂随机点名系统


Posted in Javascript onNovember 21, 2019

本文实例为大家分享了js随机点名系统的具体代码,供大家参考,具体内容如下

style样式

<style>
 .cor {
  background-color: #6083cd;
 }
 #box {
  width: 500px;
  border: 2px solid black;
  margin: 0 auto;
  height: 500px;
 }
 ul {
  list-style: none;
 }
 li {
  width: 50px;
  height: 50px;
  margin: 20px;
  float: left;
  line-height: 50px;
  text-align: center;
 }
 .center {
  width: 156px;
  height: 40px;
  line-height: 40px;
  margin: 0 auto;
 }
 #pp {
  display: block;
  text-align: center;
  margin-top: 40px;
  font-size: 35px;
 
 }
 </style>

body排列

<div id="box">
 <h1 style="text-align:center">点名系统</h1>
 <div class="center">
  <input type="button" value="开始点名" id="btn">
  <input type="button" value="停止点名" id="btn2">
 </div>
 <span id="pp"></span>
 <div id="dv">
 </div> 
 </div>

js代码

<script>
 function my$(id){
  return document.getElementById(id);
 }
 
 
 //定义数组,存放数值
 var arr = ["卓子贤","梁图","袁绍思","张家磊","梁文龙","方志豪","曾勇强","陈文"];
 
 //先创建一个ul加入到名字为dv的div中
 var oul = document.createElement("ul"); 
 my$("dv").appendChild(oul);
 //接下来遍历arr数组,动态创建li元素并且加入到ul中,并且把数组变量动态写到li中
 for(var i=0;i<arr.length;i++){
 oli = document.createElement("li");
 oul.appendChild(oli);
 oli.innerHTML = arr[i];
 }
 
 //先获取到所有的li,为下面的应用css样式做铺垫
 var oli = oul.getElementsByTagName("li");
 
 var timer;//这里先定义一个变量,开启定时器再赋值,
 //为鼠标注册点击事件
 my$("btn").onclick=function (){
  clearInterval(timer);//在开启定时器之前先清除定时器,避免出现用户多次点击开启多个定时器而关不掉。
  //开启定时器并赋值给变量
  timer = setInterval(function (){
  var num = parseInt(Math.random()*arr.length);
  console.log(num);
  //这里遍历所有的li元素,在开启定时器之前先把所有的li的样式清除掉
  //如果这里不清除,那么所有的li在下一步都会全部应用上css样式,
  //全部都会高亮显示,无法实现排他效果
  for(var i=0;i<oli.length;i++){
   oli[i].className = "";
  }
  oli[num].className = "cor";
  //将生成的随机数动态显示到span中,将最后所选择的数组名显示到span中
  my$("pp").innerHTML = arr[num];
  //console.log(arr[num]);
  },100);
 }
 //停止点名按钮。
 my$("btn2").onclick=function (){
  clearInterval(timer);
 }
 
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery 中几个类选择器的简单使用介绍
Mar 14 Javascript
jQuery的attr与prop使用介绍
Oct 10 Javascript
IE10中flexigrid无法显示数据的解决方法
Jul 26 Javascript
JavaScript操作HTML元素和样式的方法详解
Oct 21 Javascript
使用JQuery实现Ctrl+Enter提交表单的方法
Oct 22 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
Dec 07 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
Jan 07 Javascript
js创建jsonArray传输至后台及后台全面解析
Apr 11 Javascript
详解如何构建Angular项目目录结构
Jul 13 Javascript
vue父组件向子组件动态传值的两种方法
Nov 11 Javascript
vue vantUI tab切换时 list组件不触发load事件的问题及解决方法
Feb 14 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
Dec 30 Vue.js
JavaScript实现简单随机点名器
Nov 21 #Javascript
稍微学一下Vue的数据响应式(Vue2及Vue3区别)
Nov 21 #Javascript
Vue实现按钮级权限方案
Nov 21 #Javascript
微信小程序实现星级评价
Nov 20 #Javascript
微信小程序音乐播放器开发
Nov 20 #Javascript
微信小程序实现音乐播放器
Nov 20 #Javascript
vue移动端模态框(可传参)的实现
Nov 20 #Javascript
You might like
PHP编码规范-php coding standard
2007/03/16 PHP
Apache启动报错No space left on device: AH00023该怎么解决
2015/10/16 PHP
Yii多表联合查询操作详解
2016/06/02 PHP
替换php字符串中的单引号为双引号的方法
2017/02/16 PHP
JavaScript 调试器简介
2009/02/21 Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
2013/04/02 Javascript
AngularJS单选框及多选框实现双向动态绑定
2016/01/13 Javascript
Angularjs中的页面访问权限怎么设置
2016/11/11 Javascript
js oncontextmenu事件使用详解
2017/03/25 Javascript
js禁止表单重复提交
2017/08/29 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
Vue.js做select下拉列表的实例(ul-li标签仿select标签)
2018/03/02 Javascript
css配合JavaScript实现tab标签切换效果
2018/10/11 Javascript
nodejs微信开发之自动回复的实现
2019/03/17 NodeJs
使用flow来规范javascript的变量类型
2019/09/12 Javascript
Javascript 模拟mvc实现点餐程序案例详解
2020/12/24 Javascript
[03:32]2014DOTA2西雅图邀请赛 CIS外卡赛赛前black专访
2014/07/09 DOTA
[00:44]TI7不朽珍藏III——军团指挥官不朽展示
2017/07/15 DOTA
[50:54]完美世界DOTA2联赛 GXR vs IO 第三场 11.07
2020/11/10 DOTA
python脚本实现统计日志文件中的ip访问次数代码分享
2014/08/06 Python
Python中非常实用的一些功能和函数分享
2015/02/14 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
浅谈python中字典append 到list 后值的改变问题
2018/05/04 Python
python实现最长公共子序列
2018/05/22 Python
对python mayavi三维绘图的实现详解
2019/01/08 Python
Appium Python自动化测试之环境搭建的步骤
2019/01/23 Python
python3实现猜数字游戏
2020/12/07 Python
Python for循环通过序列索引迭代过程解析
2020/02/07 Python
Windows下Pycharm远程连接虚拟机中Centos下的Python环境(图文教程详解)
2020/03/19 Python
基于python爬取有道翻译过程图解
2020/03/31 Python
如何在keras中添加自己的优化器(如adam等)
2020/06/19 Python
外贸公司实习自我鉴定
2013/09/24 职场文书
阳光体育活动总结
2014/04/30 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
2014年司法局工作总结
2014/12/11 职场文书
家庭教育培训学习心得体会
2016/01/14 职场文书