<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JK:支持民族工业,尽量少买X货</title>
<style>
div{
display:inline;
width:100px;
border:solid 1px;
}
</style>
<script language="JavaScript">
<!--function getRandomArray(m,n) //得到m张牌里的n张牌 (m>=n>0)
{
if(n==null || n==m )
return getRandomPlayCard(m);
var array1=new Array(m);
for(var i=0;i<m;i++)
array1[i]=i;
var m2=m-0.00001;
for(var i=0;i<n;i++)
{
var rnd=Math.floor(Math.random()*m2);
var swap=array1[i];array1[i]=array1[rnd];array1[rnd]=swap;
}
return(array1.slice(0,n));
}
function getRandomPlayCard(m) //洗牌
{
var array1=new Array(m);
for(var i=0;i<m;i++){
var rnd=Math.floor(Math.random()*(i+0.99999))
array1[i]=array1[rnd];
array1[rnd]=i;
}
return array1;
}
-->
</script><script language="JavaScript">
<!--
var currentStartButton=null;
var isRuning=false;
function startFun(obj)
{
if (isRuning){
alert("抽奖正在进行中");
return;
}
else if (currentStartButton!=null){
alert("请先处理(确认或取消)上次抽奖结果");
return;
}
else{
currentStartButton=obj;
var luckNum=currentStartButton.parentNode.getElementsByTagName("select")[0].value;
var sourceNum=document.getElementById("sourceContainer").getElementsByTagName("div").length;
if(luckNum>sourceNum){
alert("请调小一次性抽奖个数");
currentStartButton=null;
return;
}
isRuning=true;
document.getElementById("stopButton").disabled=false;
document.getElementById("stopButton").focus(); document.getElementById("confirmButton").disabled=true;
document.getElementById("cancelButton").disabled=true;
}
}function stopFun(){
isRuning=false;
document.getElementById("stopButton").disabled=true;
document.getElementById("confirmButton").disabled=false;
document.getElementById("cancelButton").disabled=false;
}function cancelFun(){
currentStartButton=null;
document.getElementById("confirmButton").disabled=true;
document.getElementById("cancelButton").disabled=true;
var luckContainerObj=document.getElementById("luckContainer");
luckContainerObj.innerHTML="";
}function confirmFun(){
var currentResultContainer=currentStartButton.parentNode.parentNode.nextSibling.children[0];
var sourceItems=document.getElementById("sourceContainer").getElementsByTagName("div");
var luckContainerObj=document.getElementById("luckContainer");
var checkboxObjs=luckContainerObj.getElementsByTagName("input");
var realLuckItems=new Array();
for(var i=0;i<checkboxObjs.length;i++){
if(checkboxObjs[i].checked) realLuckItems[realLuckItems.length]=sourceItems[checkboxObjs[i].value];
}
for(var i=0;i<realLuckItems.length;i++){
currentResultContainer.appendChild(realLuckItems[i]);
}
luckContainerObj.innerHTML="";
currentStartButton=null;
document.getElementById("confirmButton").disabled=true;
document.getElementById("cancelButton").disabled=true;}
function getLuckFun(){
if(!isRuning || currentStartButton==null ) return;
var luckNum=currentStartButton.parentNode.getElementsByTagName("select")[0].value;
var sourceItems=document.getElementById("sourceContainer").getElementsByTagName("div");
var sourceNum=sourceItems.length;
var luckContainerObj=document.getElementById("luckContainer");
luckContainerObj.innerHTML="";
var luckArray=getRandomArray(sourceNum,luckNum);
for(var i=0;i<luckArray.length;i++){
var tempItem=sourceItems[luckArray[i]].cloneNode(true);
var tempCheckbox=document.createElement("<input type=checkbox value="+luckArray[i]+" checked>");
tempItem.insertAdjacentElement("afterBegin",tempCheckbox);
luckContainerObj.appendChild(tempItem);
}}window.setInterval(getLuckFun,50);-->
</script>
</head><body > <table border="1" width="100%" style="display:inline;">
<tr>
<td >幸运榜
<input type=button value="停止" onclick="stopFun();" id="stopButton" disabled >
<input type=button value="确认中奖" onclick="confirmFun();" id="confirmButton" disabled >
<input type=button value="取消中奖" onclick="cancelFun();" id="cancelButton" disabled >
</td>
</tr>
<tr>
<td id=luckContainer ></td>
</tr>
<tr>
<td >三等奖 <input type=button value="抽奖" onclick="startFun(this)">
<select name=num ><script>for(var i=1;i<101;i++) document.write("<option value="+i+">"+i+"")</script></select>
位</td>
</tr>
<tr>
<td ></td>
</tr>
<tr>
<td >二等奖 <input type=button value="抽奖" onclick="startFun(this)">
<select name=num ><script>for(var i=1;i<101;i++) document.write("<option value="+i+">"+i+"")</script></select>
位</td>
</tr>
<tr>
<td ></td>
</tr>
<tr>
<td >一等奖 <input type=button value="抽奖" onclick="startFun(this)">
<select name=num ><script>for(var i=1;i<101;i++) document.write("<option value="+i+">"+i+"")</script></select>
位</td>
</tr>
<tr>
<td ></td>
</tr>
<tr>
<td >特等奖 <input type=button value="抽奖" onclick="startFun(this)">
<select name=num ><script>for(var i=1;i<101;i++) document.write("<option value="+i+">"+i+"")</script></select>
位</td>
</tr>
<tr>
<td ></td>
</tr>
<tr>
<td >待中奖人士</td>
</tr>
<tr>
<td id=sourceContainer >
<div >张三(001)</div>
<div >李四(002)</div>
<div >王五(003)</div>
<div >004</div>
<div >005</div>
<script>for(var i=6;i<50;i++)document.write("<div>"+i+"</div>")</script>
</td>
</tr>
</table></body>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JK:支持民族工业,尽量少买X货</title>
<style>
div{
display:inline;
width:100px;
border:solid 1px;
}
</style>
<script language="JavaScript">
<!--function getRandomArray(m,n) //得到m张牌里的n张牌 (m>=n>0)
{
if(n==null || n==m )
return getRandomPlayCard(m);
var array1=new Array(m);
for(var i=0;i<m;i++)
array1[i]=i;
var m2=m-0.00001;
for(var i=0;i<n;i++)
{
var rnd=Math.floor(Math.random()*m2);
var swap=array1[i];array1[i]=array1[rnd];array1[rnd]=swap;
}
return(array1.slice(0,n));
}
function getRandomPlayCard(m) //洗牌
{
var array1=new Array(m);
for(var i=0;i<m;i++){
var rnd=Math.floor(Math.random()*(i+0.99999))
array1[i]=array1[rnd];
array1[rnd]=i;
}
return array1;
}
-->
</script><script language="JavaScript">
<!--
var currentStartButton=null;
var isRuning=false;
function startFun(obj)
{
if (isRuning){
alert("抽奖正在进行中");
return;
}
else if (currentStartButton!=null){
alert("请先处理(确认或取消)上次抽奖结果");
return;
}
else{
currentStartButton=obj;
var luckNum=currentStartButton.parentNode.getElementsByTagName("select")[0].value;
var sourceNum=document.getElementById("sourceContainer").getElementsByTagName("div").length;
if(luckNum>sourceNum){
alert("请调小一次性抽奖个数");
currentStartButton=null;
return;
}
isRuning=true;
document.getElementById("stopButton").disabled=false;
document.getElementById("stopButton").focus(); document.getElementById("confirmButton").disabled=true;
document.getElementById("cancelButton").disabled=true;
}
}function stopFun(){
isRuning=false;
document.getElementById("stopButton").disabled=true;
document.getElementById("confirmButton").disabled=false;
document.getElementById("cancelButton").disabled=false;
}function cancelFun(){
currentStartButton=null;
document.getElementById("confirmButton").disabled=true;
document.getElementById("cancelButton").disabled=true;
var luckContainerObj=document.getElementById("luckContainer");
luckContainerObj.innerHTML="";
}function confirmFun(){
var currentResultContainer=currentStartButton.parentNode.parentNode.nextSibling.children[0];
var sourceItems=document.getElementById("sourceContainer").getElementsByTagName("div");
var luckContainerObj=document.getElementById("luckContainer");
var checkboxObjs=luckContainerObj.getElementsByTagName("input");
var realLuckItems=new Array();
for(var i=0;i<checkboxObjs.length;i++){
if(checkboxObjs[i].checked) realLuckItems[realLuckItems.length]=sourceItems[checkboxObjs[i].value];
}
for(var i=0;i<realLuckItems.length;i++){
currentResultContainer.appendChild(realLuckItems[i]);
}
luckContainerObj.innerHTML="";
currentStartButton=null;
document.getElementById("confirmButton").disabled=true;
document.getElementById("cancelButton").disabled=true;}
function getLuckFun(){
if(!isRuning || currentStartButton==null ) return;
var luckNum=currentStartButton.parentNode.getElementsByTagName("select")[0].value;
var sourceItems=document.getElementById("sourceContainer").getElementsByTagName("div");
var sourceNum=sourceItems.length;
var luckContainerObj=document.getElementById("luckContainer");
luckContainerObj.innerHTML="";
var luckArray=getRandomArray(sourceNum,luckNum);
for(var i=0;i<luckArray.length;i++){
var tempItem=sourceItems[luckArray[i]].cloneNode(true);
var tempCheckbox=document.createElement("<input type=checkbox value="+luckArray[i]+" checked>");
tempItem.insertAdjacentElement("afterBegin",tempCheckbox);
luckContainerObj.appendChild(tempItem);
}}window.setInterval(getLuckFun,50);-->
</script>
</head><body > <table border="1" width="100%" style="display:inline;">
<tr>
<td >幸运榜
<input type=button value="停止" onclick="stopFun();" id="stopButton" disabled >
<input type=button value="确认中奖" onclick="confirmFun();" id="confirmButton" disabled >
<input type=button value="取消中奖" onclick="cancelFun();" id="cancelButton" disabled >
</td>
</tr>
<tr>
<td id=luckContainer ></td>
</tr>
<tr>
<td >三等奖 <input type=button value="抽奖" onclick="startFun(this)">
<select name=num ><script>for(var i=1;i<101;i++) document.write("<option value="+i+">"+i+"")</script></select>
位</td>
</tr>
<tr>
<td ></td>
</tr>
<tr>
<td >二等奖 <input type=button value="抽奖" onclick="startFun(this)">
<select name=num ><script>for(var i=1;i<101;i++) document.write("<option value="+i+">"+i+"")</script></select>
位</td>
</tr>
<tr>
<td ></td>
</tr>
<tr>
<td >一等奖 <input type=button value="抽奖" onclick="startFun(this)">
<select name=num ><script>for(var i=1;i<101;i++) document.write("<option value="+i+">"+i+"")</script></select>
位</td>
</tr>
<tr>
<td ></td>
</tr>
<tr>
<td >特等奖 <input type=button value="抽奖" onclick="startFun(this)">
<select name=num ><script>for(var i=1;i<101;i++) document.write("<option value="+i+">"+i+"")</script></select>
位</td>
</tr>
<tr>
<td ></td>
</tr>
<tr>
<td >待中奖人士</td>
</tr>
<tr>
<td id=sourceContainer >
<div >张三(001)</div>
<div >李四(002)</div>
<div >王五(003)</div>
<div >004</div>
<div >005</div>
<script>for(var i=6;i<50;i++)document.write("<div>"+i+"</div>")</script>
</td>
</tr>
</table></body>
1。中奖人不在场,相当于自动弃奖,但中奖机会还应留给其它人
2。有人认为奖太低,应该可以让他弃当前奖,但保留剩下奖项的中奖机会
3。中奖机会应该是平均分布的,例如用Math.round(Math.random()*9)来抽1到十,会产生1和10的中奖机会是1/18,而其它的中奖机会却都是1/9
4。抽奖的是老大,并且是在公众场合,所以出现bug或没考虑到的情形的话,会影响形象,慎之
点抽奖后,又把抽奖个数调得太大。更正后的代码如下:<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JK:支持民族工业,尽量少买X货</title>
<style>
div{
display:inline;
width:100px;
border:solid 1px;
}
</style>
<script language="JavaScript">
<!--function getRandomArray(m,n) //得到m张牌里的n张牌 (m>=n>0)
{
if(n==null || n==m )
return getRandomPlayCard(m);
var array1=new Array(m);
for(var i=0;i<m;i++)
array1[i]=i;
var m2=m-0.00001;
for(var i=0;i<n;i++)
{
var rnd=Math.floor(Math.random()*m2);
var swap=array1[i];array1[i]=array1[rnd];array1[rnd]=swap;
}
return(array1.slice(0,n));
}
function getRandomPlayCard(m) //洗牌
{
var array1=new Array(m);
for(var i=0;i<m;i++){
var rnd=Math.floor(Math.random()*(i+0.99999))
array1[i]=array1[rnd];
array1[rnd]=i;
}
return array1;
}
-->
</script><script language="JavaScript">
<!--
var currentStartButton=null;
var isRuning=false;
function startFun(obj)
{
if (isRuning){
alert("抽奖正在进行中");
return;
}
else if (currentStartButton!=null){
alert("请先处理(确认或取消)上次抽奖结果");
return;
}
else{
currentStartButton=obj;
var luckNum=currentStartButton.parentNode.getElementsByTagName("select")[0].value;
var sourceNum=document.getElementById("sourceContainer").getElementsByTagName("div").length;
if(luckNum>sourceNum){
alert("请调小一次性抽奖个数");
currentStartButton=null;
return;
}
isRuning=true;
document.getElementById("stopButton").disabled=false;
document.getElementById("stopButton").focus(); document.getElementById("confirmButton").disabled=true;
document.getElementById("cancelButton").disabled=true;
}
}function stopFun(){
isRuning=false;
document.getElementById("stopButton").disabled=true;
document.getElementById("confirmButton").disabled=false;
document.getElementById("cancelButton").disabled=false;
}function cancelFun(){
currentStartButton=null;
document.getElementById("confirmButton").disabled=true;
document.getElementById("cancelButton").disabled=true;
var luckContainerObj=document.getElementById("luckContainer");
luckContainerObj.innerHTML="";
}function confirmFun(){
var currentResultContainer=currentStartButton.parentNode.parentNode.nextSibling.children[0];
var sourceItems=document.getElementById("sourceContainer").getElementsByTagName("div");
var luckContainerObj=document.getElementById("luckContainer");
var checkboxObjs=luckContainerObj.getElementsByTagName("input");
var realLuckItems=new Array();
for(var i=0;i<checkboxObjs.length;i++){
if(checkboxObjs[i].checked) realLuckItems[realLuckItems.length]=sourceItems[checkboxObjs[i].value];
}
for(var i=0;i<realLuckItems.length;i++){
currentResultContainer.appendChild(realLuckItems[i]);
}
luckContainerObj.innerHTML="";
currentStartButton=null;
document.getElementById("confirmButton").disabled=true;
document.getElementById("cancelButton").disabled=true;}
function getLuckFun(){
if(!isRuning || currentStartButton==null ) return;
var luckNum=currentStartButton.parentNode.getElementsByTagName("select")[0].value;
var sourceItems=document.getElementById("sourceContainer").getElementsByTagName("div");
var sourceNum=sourceItems.length;
var luckContainerObj=document.getElementById("luckContainer");
luckContainerObj.innerHTML="";
if(luckNum>sourceNum){
alert("请调小一次性抽奖个数");
stopFun();
cancelFun();
return;
}
var luckArray=getRandomArray(sourceNum,luckNum);
for(var i=0;i<luckArray.length;i++){
var tempItem=sourceItems[luckArray[i]].cloneNode(true);
var tempCheckbox=document.createElement("<input type=checkbox value="+luckArray[i]+" checked>");
tempItem.insertAdjacentElement("afterBegin",tempCheckbox);
luckContainerObj.appendChild(tempItem);
}}window.setInterval(getLuckFun,50);-->
</script>
</head><body > <table border="1" width="100%" style="display:inline;">
<tr>
<td >幸运榜
<input type=button value="停止" onclick="stopFun();" id="stopButton" disabled >
<input type=button value="确认中奖" onclick="confirmFun();" id="confirmButton" disabled >
<input type=button value="取消中奖" onclick="cancelFun();" id="cancelButton" disabled >
</td>
</tr>
<tr>
<td id=luckContainer ></td>
</tr>
<tr>
<td >三等奖 <input type=button value="抽奖" onclick="startFun(this)">
<select name=num ><script>for(var i=1;i<101;i++) document.write("<option value="+i+">"+i+"")</script></select>
位</td>
</tr>
<tr>
<td ></td>
</tr>
<tr>
<td >二等奖 <input type=button value="抽奖" onclick="startFun(this)">
<select name=num ><script>for(var i=1;i<101;i++) document.write("<option value="+i+">"+i+"")</script></select>
位</td>
</tr>
<tr>
<td ></td>
</tr>
<tr>
<td >一等奖 <input type=button value="抽奖" onclick="startFun(this)">
<select name=num ><script>for(var i=1;i<101;i++) document.write("<option value="+i+">"+i+"")</script></select>
位</td>
</tr>
<tr>
<td ></td>
</tr>
<tr>
<td >特等奖 <input type=button value="抽奖" onclick="startFun(this)">
<select name=num ><script>for(var i=1;i<101;i++) document.write("<option value="+i+">"+i+"")</script></select>
位</td>
</tr>
<tr>
<td ></td>
</tr>
<tr>
<td >待中奖人士</td>
</tr>
<tr>
<td id=sourceContainer >
<div >张三(001)</div>
<div >李四(002)</div>
<div >王五(003)</div>
<div >004</div>
<div >005</div>
<script>for(var i=6;i<50;i++)document.write("<div>"+i+"</div>")</script>
</td>
</tr>
</table></body>