Ⅰ 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("親,抽獎次數已用光!充值金幣或點擊「邀請好友」");
}
})