年底將至,許多公司忙著搞年會(huì),會(huì)上一般都會(huì)有一些抽獎(jiǎng)活動(dòng),下面的程序就是用JAVASCRIPT 寫的一個(gè)簡單的抽獎(jiǎng)系統(tǒng)與大家共享。
此代碼借鑒了網(wǎng)上的一些網(wǎng)友的代碼,又加上了一些諸如不重復(fù)抽獎(jiǎng)之類的改進(jìn)。大概思路如下:
1.將所有的的抽獎(jiǎng)數(shù)據(jù)(這里為手機(jī)號碼)存入數(shù)組中。
2.使用random 函數(shù)隨機(jī)產(chǎn)生該數(shù)組的INDEX
3.使用setInterval 函數(shù)以極短的時(shí)間間隔產(chǎn)生該數(shù)組隨機(jī)INDEX所對應(yīng)的手機(jī)號碼,并顯示。
4.使用removeEleAt(index)函數(shù)刪除隨機(jī)產(chǎn)生過的手機(jī)號碼。并且重新組織生成剩余的手機(jī)號碼為一個(gè)新的數(shù)組,為下次使用。
使用方法:
將以下原代碼拷到寫字板上,然后將txt屬性該成html即可。如果出現(xiàn)顯示亂碼,請改變網(wǎng)頁編碼(查看--編碼)。
原代碼如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<html>
<head>
<title> 2006年會(huì)抽獎(jiǎng)系統(tǒng)</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){
}
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>中獎(jiǎng)號碼</h1>