作者:jegg
年底将至,许多公司忙着搞年会,会上一般都会有一些抽奖活动,下面的程序就是用javascript写的一个简单的抽奖系统与大家共享。
此代码借鉴了网上的一些网友的代码,又加上了一些诸如不重复抽奖之类的改进。大概思路如下:
1.将所有的的抽奖数据(这里为手机号码)存入数组中。
2.使用random函数随机产生该数组的INDEX
3.使用setInterval函数以极短的时间间隔产生该数组随机INDEX所对应的手机号码,并显示。
4.使用removeEleAt(index)函数删除随机产生过的手机号码。并且重新组织生成剩余的手机号码为一个新的数组,为下次使用。
使用方法:
将以下原代码拷到写字板上,然后将txt属性该成html即可。如果出现显示乱码,请改变网页编码(查看--编码)。
原代码如下:
2006年会抽奖系统 // 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; pthis.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++; } 中奖号码
一等奖(10名)
二等奖(15名)
三等奖(20名)
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]