js+html实现点名系统功能

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

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

需求分析:

1、两个按钮实现随机点名的开始和结束(onclick()方法)
2、每一个名字需要放在一个单独的盒子中并被一个div所包裹,以便于统一格式(动态生成div)
3、当随机开始时,随机选取一条数据,并将该条数据所在的div背景颜色更改(random()函数获得随机数,setTimeout()重复调用)
4、随机结束时将当前的数据显示出来(alert())

下面开始实现

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

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

<button οnclick="startF2()">开始</button>
<button οnclick="endF2()">结束</button>
<div id="fa">

</div>
//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]+"同学回答问题");
}

结束时将数据输出即可

点名系统实现.

效果如下:

随机前:

随机中:

随机结束:

完整代码如下:

<!DOCTYPE html>
<html>

 <head>
  <meta charset="UTF-8">
  <title></title>
  <script type="text/javascript">
   //准备数据
   var arr = ["1", "2", "3", "4", "5", "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);
    }

   }
  </script>
  <style type="text/css">
   .box {
    width: 100px;
    height: 50px;
    background-color: gray;
    text-align: center;
    line-height: 50px;
    margin: 10px;
    float: left;
   }
  </style>
 </head>

 <body οnlοad="init()">
 <button οnclick="startF2()">开始</button>
 <button οnclick="endF2()">结束</button>
 <div id="fa">

 </div>
 </body>

</html>

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

(0)

相关推荐

  • js实现随机点名程序

    最近用到了一下随机点名程序,就自己整理一下.代码实现后的截图如下. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equ

  • javascript网页随机点名实现过程解析

    主要知识点涉及if选择结构判断语句.数组的定义.定时器.清除定时器.日期对象的使用. 1.HTML结构 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>随机点名</title> <style type="text/css"> .box{ width: 200px; height: 200px; border: 1

  • js实现编辑div节点名称的方法

    本文实例讲述了js实现编辑div节点名称的方法.分享给大家供大家参考.具体实现方法如下: 节点html代码如下: 复制代码 代码如下: <div class="img_1" id="img_1" >      <input type="image" class="img_1" src="img/cump.png"></input>      <div class=&

  • 原生JS实现随机点名项目的实例代码

    核心思想 •随机产生规定范围内的整数,然后再产生相同范围内的整数,两者相同时,则暂停. 所用知识 •Math.random() * num: 产生从0到num的随机数 •Math.floor(): 向下取整 •简单的DOM操作等 技术扩展 •扩展人数 •添加停止键等 效果 代码如下 •html: <div class="container"> <section class="demo"> <ul> <li></l

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

    废话不多说,直接上代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>随机点名</title> <style type="text/css"> td{ text-align: center; } </style> </head> <body

  • JavaScript实现班级随机点名小应用需求的具体分析

    需求如下: 1.在网页中显示,班级所有人员的名字. 2.点击开始按钮,人员的颜色开始变化,当停止的时候,会有一个颜色不同的位置,那么这个位置就是被点到的同学了. 大致的图形界面如下: 下面是对上面的需求分析的具体分析如下: 1.初始化这样一个页面,并设置统一颜色-green. a.同学的名字,用数组存储 b.在页面用div块显示 2.随机选择一个位置让其颜色变化成-red a.颜色的变化用css样式去控制 b.随机的位置用随机函数去生成 3.为了让其有动画的效果,设置间隔时间让其颜色变化的位置向

  • js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码

    复制代码 代码如下: <?php /* <?xml version="1.0" encoding="utf-8"?> <article> <item> <title name="t1"></title> <content>content1</content> <pubdate>2009-10-11</pubdate> </ite

  • js实现随机点名小功能

    本文实例为大家分享了js实现随机点名功能的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id="name1"></div> <button id="btn"

  • javascript实现的一个随机点名功能

    这个其实是对JS随机数的一个练习方式,先把所有人得名字预先写好在一个数组里,然后让数组里的值快速的显示在区域内,当你按停的时候滚动就会停止达到随机效果. <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>JS写的随机点名 - 琼台博客</title> <script type="text/javascript">

  • JS实现课堂随机点名和顺序点名

    1. 效果: 2. Html代码: <body> <form> <div align="center"> <input type="button" value="开始点名" onclick="students()" class="ks"/> <input type="button" value="停止点名" onc

  • JS+CSS实现随机点名(实例代码)

    HTML代码结构 <body> <div id="box">随机点名</div> <span id="span">开始</span> </body> CSS代码结构 <style> #box { width: 30%; height: 200px; background-color: rgb(233, 248, 214); border: 1px solid rgb(130, 216

  • 原生js实现随机点名功能

    本文实例为大家分享了js实现随机点名的具体代码,供大家参考,具体内容如下 原生js实现随机点名,js部分有注释 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"

  • JavaScript实现随机点名器实例详解

    你是公司的程序员,年会的时候公司要给员工抽奖发福利,要求你写一个页面小程序,用来随机选出幸运员工,分设一二三等奖大致如下图示例: 以下是点名器的一种思路,页面比较简陋,只给出了满足最基本要求的代码户要用到计时器,随机数函数等 本抽奖一二三等奖都只设一名幸运员工,开始结束功能用一个按钮实现 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <

  • 使用javascript做的一个随机点名程序

    复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"

随机推荐