用js和html写一个年会抽奖页面,其中特等奖1个,一等奖1个,二等奖3个,三等奖五个
时间: 2024-05-02 07:20:13 浏览: 125
以下是一个简单的年会抽奖页面,其中特等奖为红色,一等奖为橙色,二等奖为黄色,三等奖为绿色:
```html
<!DOCTYPE html>
<html>
<head>
<title>年会抽奖</title>
<style>
body {
font-family: Arial, sans-serif;
text-align: center;
}
.prize {
display: inline-block;
margin: 20px;
padding: 20px;
border: 3px solid black;
border-radius: 10px;
font-size: 24px;
font-weight: bold;
cursor: pointer;
}
.prize.special {
background-color: red;
}
.prize.first {
background-color: orange;
}
.prize.second {
background-color: yellow;
}
.prize.third {
background-color: green;
}
.winner {
margin-top: 50px;
font-size: 36px;
font-weight: bold;
}
</style>
</head>
<body>
<h1>年会抽奖</h1>
<div class="prize special">特等奖</div>
<div class="prize first">一等奖</div>
<div class="prize second">二等奖</div>
<div class="prize second">二等奖</div>
<div class="prize second">二等奖</div>
<div class="prize third">三等奖</div>
<div class="prize third">三等奖</div>
<div class="prize third">三等奖</div>
<div class="prize third">三等奖</div>
<div class="prize third">三等奖</div>
<button id="draw">开始抽奖</button>
<div class="winner" id="winner"></div>
<script>
var prizes = document.querySelectorAll('.prize');
var drawButton = document.querySelector('#draw');
var winnerDisplay = document.querySelector('#winner');
var specialPrize = 1;
var firstPrize = 1;
var secondPrize = 3;
var thirdPrize = 5;
var specialPrizeWon = false;
var firstPrizeWon = false;
var secondPrizesWon = [];
var thirdPrizesWon = [];
function drawWinner() {
var availablePrizes = [];
if (!specialPrizeWon) {
for (var i = 0; i < specialPrize; i++) {
availablePrizes.push('special');
}
}
if (!firstPrizeWon) {
for (var i = 0; i < firstPrize; i++) {
availablePrizes.push('first');
}
}
if (secondPrizesWon.length < secondPrize) {
for (var i = 0; i < secondPrize - secondPrizesWon.length; i++) {
availablePrizes.push('second');
}
}
if (thirdPrizesWon.length < thirdPrize) {
for (var i = 0; i < thirdPrize - thirdPrizesWon.length; i++) {
availablePrizes.push('third');
}
}
if (availablePrizes.length == 0) {
alert('所有奖项已经抽完了!');
return;
}
var randomIndex = Math.floor(Math.random() * availablePrizes.length);
var prize = availablePrizes[randomIndex];
if (prize == 'special') {
specialPrizeWon = true;
} else if (prize == 'first') {
firstPrizeWon = true;
} else if (prize == 'second') {
secondPrizesWon.push(true);
} else if (prize == 'third') {
thirdPrizesWon.push(true);
}
var winners = document.querySelectorAll('.winner');
winners.forEach(function(winner) {
if (winner.innerHTML == '') {
winner.innerHTML = prize;
}
});
}
drawButton.addEventListener('click', function() {
drawWinner();
});
</script>
</body>
</html>
```
这个页面有四种不同的奖项,分别是特等奖、一等奖、二等奖和三等奖。特等奖只有一个,一等奖只有一个,二等奖有三个,三等奖有五个。
在页面加载时,我们使用 `querySelectorAll()` 方法来获取所有奖项的元素。然后,我们定义了每种奖项的数量,并且创建了一些变量来跟踪已经赢得每个奖项的人。
接下来,我们定义了一个 `drawWinner()` 函数来抽奖。首先,我们创建一个空数组,其中包含尚未赢得的所有奖项。然后,我们检查每种奖项是否仍然可用,并将其添加到可用奖项数组中。如果没有奖品可用,则显示一个警告消息并退出函数。
接下来,我们随机选择一个可用奖项,并将其分配给赢家。然后,我们将相应的奖项标记为已经赢得,并将赢家的名字显示在页面上。
最后,我们将 `drawWinner()` 函数附加到“开始抽奖”按钮的单击事件上。
注意,我们使用 `querySelectorAll()` 来获取所有赢家元素,因为有多个奖项可以赢得相同的奖项。这样,我们可以在页面上显示所有赢家的名字。
阅读全文