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

前言:实现一个简单的点名系统

需求分析:

1、两个按钮实现随机点名的开始和结束(onclick()方法)

2、每一个名字需要放在一个单独的盒子中并被一个div所包裹,以便于统一格式(动态生成div)

3、当随机开始时,随机选取一条数据,并将该条数据所在的div背景颜色更改(random()函数获得随机数,setTimeout()重复调用)

4、随机结束时将当前的数据显示出来(alert())

下面开始实现

1.准备数据并编写HTML页面

将所有的数据放在一个数组中,便于后面根据角标随机选取数据

开始

结束

//JS中准备数据

//准备数据

var arr = ["1","2","3","4","5","6"];

var index = -1; //标记被选中的块的id,下一次循环时将该块的背景改为原来的颜色

var time;

2.在页面加载时动态得将数据放在div中展示出来

需要用到onload()方法在页面加载时同时调用初始化数据的方法

function init() {

//将数组显示在页面上

for(var i = 0; i < arr.length; i++) {

//获取父容器

var fa = document.getElementById("fa");

//创建小div

var div = document.createElement("div");

//设置id属性,方便寻找

div.id = "id" + i;

div.className = "Box"; //方便给小div设置样式

//设置小div中显示的内容

div.innerHTML = arr[i];

//将小div放在父容器中

fa.appendChild(div);

}

}

此时页面上应该可以将数据全部显示出来

3.编写点击按钮时触发的开始随机和结束随机的方法

function nowfind() {

if(index != -1) {

//将上一个选中的div的背景还原

document.getElementById("id" + index).style.backgroundColor = "gray";

}

//随机数

var num = Math.floor(Math.random() * arr.length);

index = num; //记录被选中的div的id

//获取对应的div

var div = document.getElementById("id" + num);

//设置背景颜色

div.style.backgroundColor = "pink";

}

function startF2() {

//调用计时器重复调用nowfind方法

time = setInterval("nowfind()",100);//赋值给变量以便于关闭调用

}

nowfind()方法是实现一次随机获取,startF2()方法是利用setInterval()方法周期性得调用nowfind()方法

nowfind()中进行下一次循环的时候必须要将上一次选取的数据所在的div背景改变回来,否则最终会变成同一色.并且随机数的选取应该采用floor()方法向下取整

function endF2() {

//停止随机获取姓名

clearInterval(time);

alert("请"+arr[index]+"同学回答问题");

}

结束时将数据输出即可

点名系统实现.

效果如下:

随机前:

随机中:

随机结束:

完整代码如下:

//准备数据

var arr = ["1","6"];

var index = -1; //标记被选中的块的id,下一次循环时将该块的背景改为原来的颜色

var time;

function nowfind() {

if(index != -1) {

//将上一个选中的div的背景还原

document.getElementById("id" + index).style.backgroundColor = "gray";

}

//随机数

var num = Math.floor(Math.random() * arr.length);

index = num; //记录被选中的div的id

//获取对应的div

var div = document.getElementById("id" + num);

//设置背景颜色

div.style.backgroundColor = "pink";

}

function startF2() {

//调用计时器重复调用nowfind方法

time = setInterval("nowfind()",100);//赋值给变量以便于关闭调用

}

function endF2() {

//停止随机获取姓名

clearInterval(time);

alert("请"+arr[index]+"同学回答问题");

}

function init() {

//将数组显示在页面上

for(var i = 0; i < arr.length; i++) {

//获取父容器

var fa = document.getElementById("fa");

//创建小div

var div = document.createElement("div");

//设置id属性,方便寻找

div.id = "id" + i;

div.className = "Box"; //方便给小div设置样式

//设置小div中显示的内容

div.innerHTML = arr[i];

//将小div放在父容器中

fa.appendChild(div);

}

}

.Box {

width: 100px;

height: 50px;

background-color: gray;

text-align: center;

line-height: 50px;

margin: 10px;

float: left;

}

开始

结束

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

总结

以上是编程之家为你收集整理的js+html实现点名系统功能全部内容,希望文章能够帮你解决js+html实现点名系统功能所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

HTML自动点名代码,js+html实现点名系统功能相关推荐

  1. java点名代码滚动_随机点名的java实现(版本一)

    实现思路:在一个文本文件中存储学生姓名,一行一个学生姓名,然后把学生姓名读取到一个ArrayList中,随机生成一个int类型的随机数,用这个随机数做为下标来访问ArrayList. 代码如下: im ...

  2. js html转盘点名,原生JS实现简易随机点名功能

    定时器的工作原理,这里将用引用How JavaScript Timers Work中的例子来解释定时器的工作原理,该图为一个简单版的原理图.· 上图中,左侧数字代表时间,单位毫秒:左侧文字代表某一个操 ...

  3. 使用原生Js实现随机点名

    使用原生Js实现随机点名 最近学了一点前端内容,老师让用js设计一个班里的随机点名器.就尝试写了一个,具体实现效果如图: 实现代码: <!DOCTYPE html> <html la ...

  4. python3GUI--200行代码写一个上课点名程序(附源码)

    文章目录 一.准备工作 1.Tkinter 2.PIL 二.预览 1.启动 2.开始点名-顺序点名 3.开始点名-随机点名 4.手动加载人名单 5.开始点名-顺序点名-Pyqt5版本 6.人名单格式 ...

  5. matlab运用函数随机点名,js实现随机点名功能

    本文实例为大家分享了js实现随机点名的具体代码,供大家参考,具体内容如下 效果: PS:在原来的效果中很快的,但是不知怎么的录下来就变得这么慢了 代码如下: 随机点名 .box{ width: 800 ...

  6. 学生随机点名PHP,JS实现课堂随机点名和顺序点名

    1. 效果: 2. Html代码: 随机点名区域 3. JavaScript代码: var i = 0; //t用来接收setTimeOut()的返回值 var t; var st = ['张三',' ...

  7. vue可视化拖拽生成工具_GitHub - 1260215278/dragUI: 基于vuedraggable.js + uni 的可视化拖拽编程,自动生成项目,自动生成代码,自行导入第三方组件...

    dragUI 用于UNI可拖拽可视化编程 在线演示 效果图 基于 快速开始 参考uni官网安装普通uni项目(运行uni-app)运行到浏览器 另需要手动下载包npm install 项目目录 col ...

  8. 安卓录屏软件实现 开维PRA自动生成代码Ctrl.js

    安卓录屏软件实现 需求: 1.安卓手机下录制用户操作 2.录制后的动作可以修改 实现原理: 1.利用无障碍权限录制屏幕 2.记录用户点击.滑动等操作 3.将用户的操作转换为Ctrl.js代码实现 录制 ...

  9. html百度页面js代码,js代码让网页自动提交到百度

    网站提交到百度的方法目前来说有三种,第一个主动推动(实时):第二个:自动推送:第三个:sitemap: 第一个主动推动我们之前的文章已经说过了,根据百度提供的参数,wordpress用户直接下载插件包 ...

最新文章

  1. 【技术干货】卷积神经网络中十大拍案叫绝的操作
  2. 原创工作发表难之叶公好龙
  3. 1.3 继承(extends)
  4. MySQL STR_TO_DATE函数
  5. 三星 P600 android,顶级硬件S pen笔手写—三星P600_三星 Galaxy Note 10.1 2014 Edition P600_平板电脑市场-中关村在线...
  6. mysql中if在oracle怎么用_mysql和oracle的mybatis操作
  7. 最担心的事情还是发生了!三星折叠屏手机翻车:闪屏、黑屏、“脱皮”
  8. matlab 模型运行速度,用matlab求解超效率DEA模型运行结果的辨认
  9. 你本是一个肉体,是什么驱使你前行【3】
  10. TTL232和RS232的区别
  11. python autoit上传文件_Python selenium使用autoIT上传附件过程详解
  12. 详解JS中三元运算符的语法和常见用法
  13. 简单描述下微信小程序的相关文件类型?
  14. 实现时间的计算: 要求用户输入身份证号,若格式有误,要求其重新输入。然后根据身份证号码输出20岁生日所在周的周三的日期
  15. 菜刀php后门,关于菜刀后门排查
  16. 9、乐趣国学—践行《弟子规》的“谨”懂得从容之道(上篇)
  17. 使用js删除表格中的一行的一个小练习
  18. vmware中windows XP启动报ntldr is missing错误
  19. 安装windows和android双系统,小雷问答丨普通电脑怎么装 Windows 和安卓的双系统?...
  20. 收录查询,搜狗收录查询入口

热门文章

  1. 云服务器-ubuntu系统
  2. Redis集群系列一 —— AKF拆分原则
  3. eos 区块链 java 开发_EOS区块链用什么语言开发?
  4. python智力问答测试,python实现智力问答测试小程序
  5. MySQL复习笔记(三)
  6. CSS 属性:caret-color
  7. vue为什么需要nodejs 的环境
  8. Direction-aware Spatial Context Features for Shadow Detection and Removal
  9. R语言中的函数5:purrrmap()
  10. SQL求和一个表之后和另一个表数据进行关联