还是抽奖问题-.-
<html>
<head>
<title> Untitled Document </title>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 ">
<style type= "text/css ">
<!--
.unnamed1 {
height: 150px;
width: 200px;
border: 0px none;
font-size: 100px;
font-weight: bolder;
color: #FF0000;
text-align: center;
}
-->
</style>
</head>
<script language= "javascript ">
var con= 'start ';
var value;
var valueArray = new Array(10);
function showme() {
if (con== 'start ') {
do {
value = Math.round(Math.random()*10);
if ( value < 10 )
value = "00 " + value;
else {
if ( value < 100 )
value = "0 " + value;
}
}
while ( valueArray[value] )
document.form.textfield.value = value;
timeid=setTimeout( 'showme() ',50);
}
else {
valueArray[value] = value;
}
}
function startshowme(){
con= 'start ';
showme();
}
function stopshowme(){
con= 'stop ';
}
</script>
<body>
<p> </p>
<p> <br>
</p>
<table width= "100% " border= "0 " align= "center " cellpadding= "0 " cellspacing= "0 ">
<tr>
<td align= "center "> <form name= "form " method= "post " action= " ">
<input name= "textfield " type= "text " class= "unnamed1 " onFocus= "this.blur() " size= "30 ">
</form> </td>
</tr>
<tr>
<td align= "center "> <input type= "button " name= "Button " value= "开始 " onClick= "startshowme() ">
<input type= "button " name= "Button " value= "终止 " onClick= "stopshowme() "> </td>
</tr>
</table>
</body>
</html>
代码如上
我想定义下数组的长度 然后在运行程序前判断下
当数被抽完了就不执行程序,这样应该怎么做?
[解决办法]
<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>
