html抽奖原理,抽奖器html
1、環境要求:用html4配合javascript寫的抽獎器,只要電腦上有瀏覽器就可以運行。
2、功能:支持在抽獎過程中,更換當前要抽獎的人數。
3、缺點:
a.當人數過多時,可能有性能問題。
b.未對輸入的人數作校驗。
源代碼如下:
抽獎function setlistitem(){
document.getElementById('rewardlist').innerHTML='';
document.getElementById('listdiv').innerHTML='';
narr=new Array();
var pnum=parseInt(document.getElementById('pn').value,10), seln=parseInt(document.getElementById('spn').value,10);
var selh=seln*31;
document.getElementById('rewardlist').style.height=selh+'px';
document.getElementById('maincon').style.height=selh+'px';
for (var i=1; i<=pnum; i++){narr.push(i);}
for (var i=1; i
var ri=parseInt(Math.random()*(pnum-i)+i,10);
var t=narr[ri];
narr[ri]=narr[i-1];
narr[i-1]=t;
}
drawlist();
}
function setbatch(){
var seln=parseInt(document.getElementById('spn').value,10);
var selh=seln*31;
document.getElementById('rewardlist').style.height=selh+'px';
document.getElementById('maincon').style.height=selh+'px';
document.getElementById('rewardlist').innerHTML='';
}
function drawlist(){
document.getElementById('listdiv').innerHTML='';
var bl = narr.length, tmparr = new Array();
for (var y=0;y<2;y++){
for (var i=0; i
tmparr.push(narr[i]);
}
}
var hs='';
for (var i=0; i
hs+='
'+tmparr[i]+'';}
document.getElementById('listdiv').innerHTML=hs;
document.getElementById('listdiv').style.marginTop='0px';
}
var scrollTime=null, scrollFlag=false, narr;
function scrollitem(){
if (scrollFlag){
scrollTime = setTimeout('scrollitem()',70);
}
var mh=parseInt(document.getElementById('listdiv').style.marginTop,10);
mh=mh-31;
var pnum=parseInt(document.getElementById('pn').value,10);
if (mh<=pnum/2*(-30)){
mh=0;
}
document.getElementById('listdiv').style.marginTop=mh+'px';
}
function doplay(){
if (scrollFlag){
scrollFlag=false;
clearTimeout(scrollFlag);
document.getElementById('playbut').value='開始抽獎';
var mh=parseInt(document.getElementById('listdiv').style.marginTop,10), pnum=parseInt(document.getElementById('pn').value,10), seln=parseInt(document.getElementById('spn').value,10);
var si=mh*(-1)/31;
var rewardarr = new Array();
for (var ri=0;ri
rewardarr.push(parseInt(document.getElementById('listdiv').childNodes[si+ri].innerHTML,10));
}
narrtmp = new Array();
for (var xi=0;xi
var ni=0, s=true;
for (var yi=0;yi
if (narr[xi]==rewardarr[yi]){s=false;break;}
}
if (s){
narrtmp.push(narr[xi]);
}
}
narr=new Array();
for (var xi=0;xi
narr.push(narrtmp[xi]);
}
drawlist();
var hs = '';
for (var i=0; i
hs+='
'+rewardarr[i]+'';}
document.getElementById('rewardlist').innerHTML+=hs;
}else{
scrollFlag=true;
scrollitem();
document.getElementById('playbut').value='停止';
}
}
.item{width:400px;height:30px;line-height:30px;border-bottom:1px solid #000;text-align:center;font-weight:700;font-size:25px;}
.itemlist{width:430px;height:180px;border:1px solid #000;}
.itemcon{width:400px;}
.setdiv{width:803px;height:30px;line-height:30px;text-align:center;}
參加總人數
每次抽得個數
抽獎區 | 中獎號碼 |
算法只是簡單的洗牌,如有問題,歡迎大家指正。
總結
以上是生活随笔為你收集整理的html抽奖原理,抽奖器html的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java正则表达式替换域名
- 下一篇: mac下如何使用Wireshark的详细