用js实现一个抽奖系统抽过的不能再抽
以下是一个简单的抽奖系统的代码示例,使用了数组存储抽奖人员名单和已抽中的人员名单,使用Math.random()函数生成随机数实现抽奖,同时使用了localStorage存储已经中奖的人员名单,避免重复抽中。
HTML代码:
<div id="lottery">
<h1>抽奖系统</h1>
<button onclick="draw()">开始抽奖</button>
<div id="result"></div>
</div>
JS代码:
var candidates = ["张三", "李四", "王五", "赵六", "钱七"]; // 参与抽奖的人员名单
var winners = []; // 已经中奖的人员名单
function draw() {
var result = document.getElementById("result");
if (candidates.length === winners.length) { // 所有人都已经中奖
result.innerHTML = "所有人都已经中奖了!";
return;
}
var index = Math.floor(Math.random() * candidates.length); // 生成随机数字
var winner = candidates[index]; // 中奖者
if (winners.indexOf(winner) !== -1) { // 如果中奖者已经中过奖了,则重新抽取
draw();
return;
}
winners.push(winner); // 将中奖者加入已中奖名单
localStorage.setItem("winners", JSON.stringify(winners)); // 存储已中奖名单到本地存储
result.innerHTML = "恭喜" + winner + "中奖了!";
}
// 初始化已经中奖的名单
var savedWinners = localStorage.getItem("winners");
if (savedWinners) {
winners = JSON.parse(savedWinners);
}
``
原文地址: http://www.cveoy.top/t/topic/d1pj 著作权归作者所有。请勿转载和采集!