Ⅰ js数组随机抽取显示,怎么控制指定元素显示的概率
可以利用Math对象的random方法。它将返回一个0到1之间的浮点类型数。但仅仅这个还不够,必须还要有回一定的答算法才可以实现一定范围取值。
Math.floor(Math.random()*x)//返回0到x-1的随机整数。
Math.floor(Math.random()*x+y)//返回0+y到x-1+y的随机整数
其中floor方法是用来取浮点类型的整数部分。
顺便说一下,JS很难控制抽奖抽中的概率,毕竟还没有这种算法。我有一个建议,就是将同事能抽的数字范围增大,孩子能抽的数字范围减小。比如中奖号码为96,则同事可写:
Math.floor(Math.random()*100+50)//取50到149
孩子可这样写:
Math.floor(Math.random()*70+70) //取70到139
测试结果如图(这个结果是10次抽到号码需要的次数的平均值,结果四舍五入):
这样孩子的抽中概率比同事的抽中概率要大了。
Ⅱ 你好,我网站有一个纯js抽奖页面,我已经实现了可抽奖初始次数等于会员金币数(问题里的php代码)
用AJAX吧,每次抽奖之后跟后台进行交互,获取用户抽奖后金币数~同时后台也需要对用户金币数进行校验,每次抽奖后减少用户金币= =`
varM_Money=<?phpecho$cfg_ml->M_Money;?>;
varC_Money=10;
$('button').click(function(){
if(M_Money>=C_Money){
runCup();
$('button').attr("disabled",true);
$.ajax({
url:'choujiang.php',
data:{res:抽奖结果},
method:'POST',
success:function(res){
M_Money=res.M_Money;
$('button').removeAttr("disabled",true);
//抽奖结果通知
//Todo
}
});
}
else{
alert("亲,抽奖次数已用光!充值金币或点击“邀请好友”");
}
})