用Javascript轻松制作抽奖系统

1.将所有的的抽奖数据(这里为手机号码)存入数组中。
  2.使用random 函数随机产生该数组的INDEX
  3.使用setInterval 函数以极短的时间间隔产生该数组随机INDEX所对应的手机号码,并显示。
  4.使用removeEleAt(index)函数删除随机产生过的手机号码。并且重新组织生成剩余的手机号码为一个新的数组,为下次使用。
  使用方法:
  将以下原代码拷到写字板上,然后将txt属性该成html即可。如果出现显示乱码,请改变网页编码(查看--编码)。
  原代码如下:

〈!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
〈html>
〈head>
〈title> 2006年会抽奖系统〈/title>
〈meta http-equiv="Content-Type" content="text/html; charset=utf-8">
〈script language="javascript">
 
// global variables 
var timer;
var flag = new Array(100);
var existingnum = new Array(100);
var clickTimes = 0;
var randnum;
var cellnum =1;
var mobile = new Array();
// set data here!!
mobile[0]=13020000100;
mobile[1]=13020000101;
mobile[2]=13020000102;
mobile[3]=13020000103;
mobile[4]=13020000104;
mobile[5]=13020000105;
mobile[6]=13020000106;
mobile[7]=13020000107;
mobile[8]=13020000108;
mobile[9]=13020000109;
mobile[10]=13020000110;
mobile[11]=13020000111;
mobile[12]=13020000112;
mobile[13]=13020000113;
mobile[14]=13020000114;
mobile[15]=13020000115;
mobile[16]=13020000116;
mobile[17]=13020000117;
mobile[18]=13020000118;
mobile[19]=13020000119;
mobile[20]=13020000120;
mobile[21]=13020000121;
mobile[22]=13020000122;
mobile[23]=13020000123;
mobile[24]=13020000124;
mobile[25]=13020000125;
mobile[26]=13020000126;
mobile[27]=13020000127;
mobile[28]=13020000128;
mobile[29]=13020000129;
mobile[30]=13020000130;
mobile[31]=13020000131;
mobile[32]=13020000132;
mobile[33]=13020000133;
mobile[34]=13020000134;
mobile[35]=13020000135;
mobile[36]=13020000136;
mobile[37]=13020000137;
mobile[38]=13020000138;
mobile[39]=13020000139;
mobile[40]=13020000140;
mobile[41]=13020000141;
mobile[42]=13020000142;
mobile[43]=13020000143;
mobile[44]=13020000144;
mobile[45]=13020000145;
mobile[46]=13020020146;
var num = mobile.length-1;
function getRandNum(){
document.getElementById("result").value = mobile[GetRnd(0,num)];
}
function start(){
clearInterval(timer);
timer = setInterval(’change()’,50); 
}
function ok(){
clearInterval(timer);
}
function GetRnd(min,max){
 
randnum = parseInt(Math.random()*(max-min+1));
return randnum;
}
function setTimer(){
 timer = setInterval("getRandNum();",10);
 document.getElementById("start").disabled = true;
 document.getElementById("end").disabled = false;
}
function clearTimer(){
 noDupNum();
 clearInterval(timer);
 document.getElementById("start").disabled = false;
document.getElementById("end").disabled = true;
 
}
function noDupNum(){
 // to remove the selected mobile phone number
 mobile.removeEleAt(randnum);
 
 // to reorganize the mobile number array!!
 var o = 0;
 for(p=0; p〈mobile.length;p++){
 if(typeof mobile[p]!="undefined"){
 mobile[o] = mobile[p];
 o++;
 }
 }
 num = mobile.length-1;
 }
// method to remove the element in the array
Array.prototype.removeEleAt = function(dx)
 {
 if(isNaN(dx)||dx>this.length){return false;}
 this.splice(dx,1);
 }
// set mobile phone numbers to the table cell 
function setValues(){
 document.getElementById(cellnum).value = document.getElementById("result").value ;
 cellnum++;
 }
〈/script>
〈/head>
〈body>
〈center>
〈div> 〈/div>
〈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:4
em; background: #fc0;" οnclick="setTimer()" />
 〈input id="end" type="button" value="停" style="border: 1px solid; border-color: #aaa 000 #000 #aaa;width:4em; background: #fc0;"οnclick="clearTimer();setValues();" disabled/>
〈/p>
 〈p>〈strong>一等奖(10名)〈/strong>〈/p>
 〈table width="946" height="79" border="1">
 〈tr>
 〈td>〈input name="text36" type="text" id="36" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/>〈/td>
 〈td>〈input name="text37" type="text" id="37" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text38" type="text" id="38" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text39" type="text" id="39" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text40" type="text" id="40" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
〈/tr>
 〈tr>
 〈td>〈input name="text41" type="text" id="41" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/>〈/td>
 〈td>〈input name="text42" type="text" id="42" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text43" type="text" id="43" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text44" type="text" id="44" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text45" type="text" id="45" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈/tr>
 〈/table>
 〈p>二等奖(15名)〈/p>
 〈table width="951" height="88" border="1">
 〈tr>
〈td>〈input name="text21" type="text" id="21" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/>〈/td>
 〈td>〈input name="text22" type="text" id="22" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text23" type="text" id="23" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text24" type="text" id="24" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text25" type="text" id="25" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈/tr>
 〈tr>
 〈td>〈input name="text26" type="text" id="26" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/>〈/td>
 〈td>〈input name="text27" type="text" id="27" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text28" type="text" id="28" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text29" type="text" id="29" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text30" type="text" id="30" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈/tr>
 〈tr>
 〈td>〈input name="text31" type="text" id="31" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/>〈/td>
 〈td>〈input name="text32" type="text" id="32" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text33" type="text" id="33" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text34" type="text" id="34" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text35" type="text" id="35" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈/tr>
 〈/table>
 〈p>三等奖(20名)〈/p>
 〈table width="961" height="102" border="1">
 〈tr>
 〈td>〈input name="text1" type="text" id="1" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/>〈/td>
 〈td>〈input name="text2" type="text" id="2" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text3" type="text" id="3" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text4" type="text" id="4" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text5" type="text" id="5" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈/tr>
 〈tr>
 〈td>〈input name="text6" type="text" id="6" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/>〈/td>
 〈td>〈input name="text7" type="text" id="7" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text8" type="text" id="8" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
〈td>〈input name="text9" type="text" id="9" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text10" type="text" id="10" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈/tr>
 〈tr>
 〈td>〈input name="text11" type="text" id="11" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/>〈/td>
 〈td>〈input name="text12" type="text" id="12" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text13" type="text" id="13" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text14" type="text" id="14" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text15" type="text" id="15" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈/tr>
 〈tr>
 〈td>〈input name="text16" type="text" id="16" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/>〈/td>
 〈td>〈input name="text17" type="text" id="17" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text18" type="text" id="18" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text19" type="text" id="19" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈td>〈input name="text20" type="text" id="20" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/>〈/td>
 〈/tr>
 〈/table>
 〈p> 〈/p>
 〈p> 〈/p>
 〈p> 〈/p>
 〈/div>
〈/div>
〈center>
 〈/body>
〈/html>
 
纯html+JS完成的抽奖系统,友通数码港实力派团队开发。 1、号码抽取等级、数量可以自由定义前端定义,不用手工修改任何代码 3、背景、主题和样式可根据会场需要自由更换修改 2、全屏幕显示1024X768像素,界面美观大方,适合于投影仪投射晚会晚宴豪华场所抽奖系统。 3、可自由选择键盘及鼠标双重操作方式,其它无用键自动屏蔽。 4、环境要求低,只需要IE浏览器即可完成所有执行和配置工作。 5、未到场人员可以双击数字单独重新抽取。 6、开完配置一次抽一组或者抽一个。 7、自定义配置可以根据需要保存为配置文件。 8、抽奖完成后可以选择保存结果以便日后统计分析。 V1.0 增加了键鼠屏蔽参数 ----------------------------------------------- V1.1 2010-12-28 增加了 是否可以重复抽取配置选项 ----------------------------------------------- V1.2 2011-01-05 增加了 每组是否逐个抽取配置选项 2011-01-05 对逐个抽取的号码显示做了美化 ----------------------------------------------- V1.2.1 2011-01-08 修复了window.obo = 1;时出现重复数字的错误,V1.1之前版本无此错误 ~感谢石路街道的领导提醒:) 2011-01-08 增加了可选滚动姓名的功能 配置 m_name=[]; 即可 2011-01-08 增加双击数字单独重抽时的提示选项“此号码在以后的环节是否还有机会抽到!” 2011-01-08 修改了结果显示部分的错位样式 2011-01-08 修复了组抽号码重复错误问题 ----------------------------------------------- V1.2.2 2011-01-14 兼容了火狐浏览器,但本人建议仍然用IE,要用火狐只有按F11手动全屏了 2011-01-14 部分键 F5、退格、Ctrl+R、Ctrl+N、Shift+F10、Alt+F4 被屏蔽,避免一些意外发生 2011-01-14 优化了一些繁琐的结构,效率有所提升! 2011-01-16 去掉了配置参数 r、r_name,奖项配置变为window.ini,使配合样式表更加灵活 ----------------------------------------------- V1.2.2 2011-02-10 在配置文件增加了速度控制变量,以便于在不同机器环境中做速度微调 ----------------------------------------------- V1.2.3 * 2011-08-08 本版本为政府单位定制版本不对外开放 ----------------------------------------------- V2.0 2011-09-13 突破性的解决了手工修改代码烦恼增加了图形化界面 2011-09-13 可以通过图形化设置界面保存配置文件(只在IE下有效) 2011-09-13 配置文件从HTML内提取出来,变为ini.js 2011-09-13 图形化配置界面做了一些兼容性优化 2011-09-13 奖项框除了可以填写样式名还可以直接填写样式代码,程序可以自动识别 2011-09-13 增加了手动和自动整理列表功能 ----------------------------------------------- V2.0.1 2011-12-09 bug处理:列表获取处理错误,已修正! 使用请看压缩包内说明,用过了别忘了给好评,欢迎光临苏州友通数码港!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值