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;}

参加总人数

每次抽得个数

抽奖区

中奖号码

算法只是简单的洗牌,如有问题,欢迎大家指正。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大转盘抽奖是一种利用HTML编写的抽奖代。这种实现方式通过HTML标签和JavaScript脚本的有效结合,呈现出一个可交互的转盘界面,使用户能够参与抽奖活动。 在大转盘抽奖中,首先需要使用HTML标签创建一个转盘的基本框架,并设计好转盘的样式和奖品的布局。通过CSS样式表,我们可以为转盘和奖品设置相应的外观效果,使其更具吸引力。 接下来,通过JavaScript编写相关的脚本来实现转盘的旋转和奖品的随机选取功能。主要包括以下几个步骤: 1. 定义奖品数组:在JavaScript中,我们可以创建一个奖品数组,将抽奖的奖品按顺序存储在其中。 2. 将转盘划分为多个扇形区域:通过计算得出奖品个数,我们可以将转盘划分为相应的扇形区域,并将奖品均匀分布在这些区域中。 3. 实现转盘旋转:利用JavaScript的动画效果,在转盘上应用旋转动画,使其旋转起来,并设置旋转的速度和次数。 4. 奖品选取:根据旋转停止的位置,确定所选中的奖品,并将其显示给用户。 最后,我们可以将大转盘抽奖嵌入到网页中,并添加相应的按钮或触发事件,让用户能够点击或触摸进行抽奖操作。 通过利用HTML编写大转盘抽奖的代码,我们可以实现一个简单而有趣的抽奖活动,为用户提供一种有趣的互动体验。同时,我们也可以根据需求对大转盘抽奖进行功能扩展,如设置概率、中奖规则等,从而丰富抽奖的玩法和乐趣。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值