怎么用html实现一个随机抽签效果
两组一样的名字抽签 抽到的结果要排除自身 并且抽到的名字从被抽取的数组中删除以确保每个人都能被抽到(用途:圣诞与朋友们随机交换礼物)
求支支招
抽到的用户从抽奖用户列表中删除就行了,这样就不会抽到重复用户,简单示例如下
<div>
<div id="roll"> </div>
<input type="button" onclick="getUser(this)" value="开始抽奖" />
</div>
<div>
<h3>中奖名单</h3>
<div id="userList"></div>
</div>
<script>
//抽奖的人名,题主自己修改names数组
var names = ['张三', '李四', '赵四', '王五', '张三111', '李四222', '赵四333', '王五444'];
var timer = null, curIndex = 0
, num = 0
, maxNum = 2//最多抽取人数
, roll = document.getElementById('roll')
, userList = document.getElementById('userList');
function getUser(el) {
var start = el.value == '开始抽奖';
if (start && num >= maxNum) { alert('已抽出' + maxNum + '人!'); return; }
el.value = start ? '停止抽奖' : '开始抽奖';
if (start) timer = setInterval(function () {
curIndex = Math.floor(Math.random() * names.length);
roll.innerHTML = names[curIndex];
}, 30);
else {
clearInterval(timer);
var user = names.splice(curIndex, 1)[0];//从抽奖名单中删除抽中用户
userList.innerHTML += user + '<br>';
num++
}
}
</script>
用random随机数组的下标,再判断是否等于自己。