JavaScript简单抽奖程序的实现及代码

JavaScript简单抽奖程序的实现及代码

1.需求说明

某公司年终抽奖,需要有如下功能

1)可以根据实际情况设置到场人数的最大值

2) 点击“开始”,大屏幕滚动,点击“停止”,获奖者的编号出现在大屏幕上

3)在界面里显示全部奖项获奖人编号

4)不重复获奖

5)不会因为输入错误而导致抽奖结果异常。

2.代码呈上

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
  • <html>
  • <head>
  • <title>某公司周年庆抽奖</title>
  • <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  • <script language="javascript">
  • var timer;
  • var flag = new Array(100);
  • var existingnum = new Array(100);
  • var clickTimes = 0;
  • var randnum;
  • var cellnum =1;
  • var mobile;
  • var num ;
  • function check_input(){
  • var input = document.getElementById("real_num").value;
  • var re = /^[1-9]+[0-9]*]*$/;
  • if (!re.test(input)){
  • alert("请输入正整数");
  • window.location.href=window.location.href;
  • return false;
  • }
  • }
  • //get the random numbers from the mobile array every 0.05s
  • function setTimer(){
  • timer = setInterval("getRandNum();",50);
  • document.getElementById("start").disabled = true;
  • document.getElementById("end").disabled = false;
  • }
  • function getRandNum(){
  • document.getElementById("result").value = mobile[GetRnd(0,num)];
  • }
  • function GetRnd(min,max){
  • randnum = parseInt(Math.random()*(max-min+1));
  • return randnum;
  • }
  • //------------------------------------------------
  • //turn the input‘s running down
  • function clearTimer(){
  • noDupNum();
  • clearInterval(timer);
  • document.getElementById("start").disabled = false;
  • document.getElementById("end").disabled = true;
  • }
  • // Re defined array:change the length of the array and delete the checked one
  • function noDupNum(){
  • mobile.removeEleAt(randnum);
  • var o = 0;
  • for(p=0; p<mobile.length;p++){
  • if(typeof mobile[p]!="undefined"){
  • mobile[o] = mobile[p];
  • o++;
  • }
  • }
  • num = mobile.length-1;
  • }
  • function setValues(){
  • document.getElementById(cellnum).value = document.getElementById("result").value ;
  • cellnum++;
  • }
  • function set_array(){
  • var real_num = document.getElementById("real_num").value ;
  • mobile= new Array(real_num);
  • var o = 0;
  • for(i=1; i<=real_num;i++){
  • mobile[o] = i;
  • o++;
  • }
  • num = mobile.length-1;
  • document.getElementById("set_number").disabled = true;
  • }
  • Array.prototype.removeEleAt = function(dx){
  • if(isNaN(dx)||dx>this.length){return false;}
  • this.splice(dx,1);
  • }
  • </script>
  • </head>
  • <body>
  • <center>
  • <div id="main">
  • <div>
  • <h1>获奖小伙伴</h1>
  • <p>
  • <input id="result" type="text" size="30" style="height:130px;width:800px;border:2px solid red;font-size:120;" readonly/>
  • </p>
  • <p>
  • <input id="start" type="button" value="开始" style="border: 1px solid; border-color: #aaa 000 #000 #aaa;width:4em; background: #fc0;" />
  • <input id="end" type="button" value="停" style="border: 1px solid; border-color: #aaa 000 #000 #aaa;width:4em; background: #fc0;" disabled/>
  • </p>
  • <p><strong>一等奖(1名)</strong></p>
  • <table width="190" height="30" border="1">
  • <tr>
  • <td><input name="text1" type="text" id="3" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
  • </tr>
  • </table>
  • <p>二等奖(2名)</p>
  • <table width="380" height="30" border="1">
  • <tr>
  • <td><input name="text2" type="text" id="2" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
  • <td><input name="text3" type="text" id="1" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
  • </tr>
  • </table>
  • </div>
  • </div>
  • <p></p>
  • <p></p>
  • <div id="setter" style="border:1px solid;width:45em">
  • <h3>系统设置</h3>
  • <table width="300" height="30" border="1">
  • <tr>
  • <td>活动人数</td>
  • <td><input type="text" id="real_num" style="width:11em"></td>
  • <td><input id="set_number" type="button" value="设置" style="border: 1px solid; border-color: #aaa 000 #000 #aaa;width:4em; background: #fc0;"
  • </tr>
  • <tr>
  • </tr>
  • </table>
  • <br/>
  • <input id="set_number" type="button" value="重新开始抽奖" style="border: 1px solid; border-color: #aaa 000 #000 #aaa;width:45em;height: 3em;background: #fc0;"  onclick="window.location.href=window.location.href;"/>
  • <p></p>
  • </div>
  • <center>
  • </body>
  • </html>

复制代码

3.丑陋截图

我很丑,但是我很温柔~

时间: 2024-10-11 04:43:37

JavaScript简单抽奖程序的实现及代码的相关文章

javascript实现抽奖程序

昨天开年会的时候看到一个段子说唯品会年会抽奖,结果大奖都被写抽奖程序的部门得了,CTO现场review代码. 简单想了一下抽奖程序的实现,花了十几分钟写了一下,主要用到的知识有数组添加删除,以及ES5 数组新增的indexOf,filter方法, 为了刷新页面后仍能保存已中奖记录,用了localStorage存盘. 刚开始是用随机数直接取编号,发现要剔除已中奖的人很麻烦,如果重复要递归调用,如果中奖的人太多到最后随机数取到已中奖的人概率太大,所以换用两个数组实现,一个记录已中奖的号码,一个记录未

JavaScript编写简单的抽奖程序

1.需求说明 某公司年终抽奖,需要有如下功能 1)可以根据实际情况设置到场人数的最大值 2) 点击“开始”,大屏幕滚动,点击“停止”,获奖者的编号出现在大屏幕上 3)在界面里显示全部奖项获奖人编号 4)不重复获奖 5)不会因为输入错误而导致抽奖结果异常. 2.代码呈上 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN"> <html> <head> <title>某公

jQuery幸运大转盘_jQuery+PHP抽奖程序的简单实现

在线实例 查看演示 完整代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv

通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的

实验一:通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的 学号:20135114 姓名:王朝宪 注: 原创作品转载请注明出处   <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 1 1)实验部分(以下命令为实验楼64位Linux虚拟机环境下适用,32位Linux环境可能会稍有不同) 使用 gcc –S –o main.s main.c -m32 命令编译成汇编代码,如下代码中的数字请自行修改以防与

十分简单的年会抽奖程序

年会那个抽奖程序崩溃实在令人印象太深刻了,所以自己弄了一个简单版本的... data=[] #从数据库或者文件获取员工抽奖id,放到data iNum= raw_input("please input the numbers:\n")#抽几个人 # method= raw_input("please input the method:\n")#做所谓奇偶数抽奖,没意义 allwindata=[] while iNum: windata=[] for i in ran

javascript简单计算器代码分析

javascript简单计算器代码分析:也许网页中需要一个简单的计算器功能,这个时候就要掌握如何编写,起码应该会修改,下面就通过一个简单的实例介绍一下如何实现简单的计算器效果,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/&

一个简单的抽奖程序

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>抽奖程序</title> 6 <script type="text/javascript" src="http://common.cnblogs.com/script/jquery.js"></script> 7

JavaScriipt编写简单的抽奖程序

1.需求说明 某公司年终抽奖,需要有如下功能 1)可以根据实际情况设置到场人数的最大值 2) 点击"开始",大屏幕滚动,点击"停止",获奖者的编号出现在大屏幕上 3)在界面里显示全部奖项获奖人编号 4)不重复获奖 5)不会因为输入错误而导致抽奖结果异常. 2.代码呈上 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN"> <html> <head

《Linux内核分析》MOOC课程 反汇编一个简单的C程序,分析汇编代码

一个简单c程序 分析一个简单的c程序 main.c 如下图: 用命令 gcc –S –o main.s main.c -m32编译成汇编文件.在汇编文件中有许多的虚指令并不会形成机器指令,为了使分析简单我们把大部分去掉: 得到如下图所示: 栈的介绍 APUE中指出每一个c程序,都有一个独立的地址空间,在内存中的典型布局如下: 对栈的操作和我们在数据结构中的栈的操作是类似的,ebp,esp(具体名称与cpu体系结构相关) 这两个寄存器直接与栈的操作相关. 栈地址是从高到低的方向分配的. 开始一个新