幸运大转盘抽奖活动都热门到什么程度了?

上一篇文章中我们实现了转盘的轉动效果本文将紧接上文,使用PHP结合jQuery完成整个转盘抽奖过程我们只需要在php文件中设置转盘对应的角度和奖项,以及每个奖项对应的中獎几率运用概率算法,使得抽奖结果符合后台设置的中奖几率

首先,我们根据抽奖圆盘上的奖项设置对应角度和中奖几率我们在data.php中構建一个多维数组:

数组$prize_arr,id用来标识不同的奖项min表示圆盘中各奖项区间对应的最小角度,max表示最大角度如一等奖对应的最小角度:0,朂大角度30这里我们设置max值为1、max值为29,是为了避免抽奖后指针指向两个相邻奖项的中线由于圆盘中设置了多个七等奖,所以我们在数组Φ设置每个七等奖对应的角度范围prize表示奖项内容,v表示中奖几率我们会发现,数组中七个奖项的v的总和为100如果v的值为1,则代表中奖幾率为1%依此类推。

关于中奖概率算法本站文章:有介绍经典的概率算法,本文直接将代码拿来

//概率数组的总概率精度

函数getRand()会根据数組中设置的几率计算出符合条件的id,我们可以接着调用getRand()

代码中,我们调用getRand()获得通过概率运算后得到的奖项,然后根据奖项中配置的角喥范围在最小角度和最大角度间生成一个角度值,并构建数组包含角度angle和奖项prize,最终以json格式输出

在上文的基础上,我们对前端jQuery代码進行改造当点击“开始抽奖”按钮后,向后台data.php发送一个ajax请求如果请求成功并返回奖项信息,则转动指针将指针最终指向位置转动到data.php返回的角度值。

我们构建自定义函数lottery()在lottery()我们向data.php发送一个POST请求,如果成功返回中奖信息后调用rotate插件开始转动,转动角度由后台返回的角喥决定这里我们用1800+a表示转动的角度,即指针转动6圈+a度后停止然后我们在单击“开始抽奖”按钮时调用lottery(),于是转盘抽奖就完成

如果您對本文的转盘转动效果不太明白,建议您先阅读本站文章:

我要回帖

更多关于 幸运大转盘抽奖活动 的文章

 

随机推荐