js制作简易班级抽签程序

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
  <title>简易抽签系统</title>
  <style>
    .container {
      background-color: #ffff99;
      margin-top: 10px;
      margin-left: 300px;
      margin-right: 300px;
      width: auto;
      height: auto;
    }
  </style>
</head>
 
<body>
  <div class="container">
    <input
      type="text"
      style="border:0px;text-align:center;font-size:60px;background-color:#ffff99;"
      id="txt">
    <br>
    <br>
    <font size="20">
      目前已经抽出<span id="count"> 0 </span>个!
    </font>
    <br>
    <input
      type="button"
      style="font-size:30px"
      value="开始"
      onClick="solve1();">  
    <input
      type="button"
      style='font-size:30px'
      value="停止"
      onClick="solve2()">  
    <input
      type="button"
      style='font-size:30px'
      value="清空"
      onClick="Clear();">
    <br>
    <br>
    <span id="display"></span>
    <br>
  </div>
  <script>
    var num = 0;
    var arr = [];
    var vis = [];
    var mark = [];
    var stringpro = "我,人,有,的,和,主,产,不,为,这,工,要,在,地,一,上,是,中,国,国,经,以,发,了,民,同,qw,as,gs,fg,ad,kf,pg,ln,nm,wdq,fs"
    var pro = stringpro.split(',');
    var c = 0;
    var k = 0;
    var t;
    var tt;
    var flag = true;
    //for(var i = 0; i < 19; i++)
    //  vis[i] = i+1;
 
    var cont = 0;
 
    while(true) {
      var tt = parseInt(Math.random() * 37 + 1);
 
      if(!mark[tt]) {
        mark[tt] = 1;
        vis[cont++] = tt;
      }
 
      if(cont === 37) {
        break;
      }
    }
 
    function timedCount() {
      document.getElementById('txt').value = c;
      k = k + 1;
      k = k % (vis.length);
      c = vis[k];
      t = setTimeout("timedCount()",50)
    }
 
    function solve1() {
      if(flag) {
        timedCount();
        flag = false;
      }
    }
 
    function stopCount() {
      clearTimeout(t);
      tt = document.getElementById('txt').value;
    }
 
    function Random() {
      var draw = document.getElementById('display');
 
      num += 1;
      arr.push(tt);
      var tmp = tt;
 
      tmp -= 1;
      draw.innerHTML = draw.innerHTML + '<h1>第' + num + '组抽中:' + pro[tmp] + '<br/></h1>';
      var tmp = [];
 
      tmp.length = 0;
      var cnt = 0;
 
      for(var i = 0, len = vis.length; i < len; i += 1) {
        if(vis[i] != tt) {
          tmp[cnt] = vis[i];
          cnt = cnt+1;
        }
      }
 
      vis.length = 0;
      for(var i = 0, len = tmp.length; i < len; i += 1) {
        vis[i] = tmp[i];
      }
 
      document.getElementById("count").innerHTML = arr.length;
      if(arr.length === 37){
        alert('已经抽完!');
      }
    }
 
    function solve2() {
      if(!flag) {
        stopCount();
        Random();
        flag = true;
      }
    }
 
    function Clear() {
      arr = null;
      arr = [];
 
      mark = [];
      var cont = 0;
 
      while(true) {
        var tt = parseInt(Math.random() * 37 + 1);
 
        if(!mark[tt]) {
          mark[tt] = 1;
          vis[cont++] = tt;
        }
 
        if(cont === 37) {
          break;
        }
      }
 
      k = 0;
      num = 0;
      c = 0;
      clearTimeout(t);
      document.getElementById('txt').value = '0';
      document.getElementById('count').innerHTML = '0';
      document.getElementById('display').innerHTML = '';
    }
  </script>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值