帮我写一个1到400随机抽取号数的网页抽奖器,需要有抽取动画,抽取号数不重复,有已经抽取过的数字显示区,有美观的界面
时间: 2023-11-12 20:04:18 浏览: 81
随机抽号不重复
3星 · 编辑精心推荐
好的,我可以为您提供一个简单的解决方案。以下是一个使用JavaScript编写的简单的抽奖器,其中包括抽奖动画和界面设计。
HTML代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>抽奖器</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="container">
<h1>抽奖器</h1>
<div class="number-board">
<div class="number-display"></div>
</div>
<button class="btn" onclick="startLottery()">开始抽奖</button>
<div class="winner-board">
<h2>已中奖号码</h2>
<ul class="winner-list"></ul>
</div>
</div>
<script src="script.js"></script>
</body>
</html>
```
CSS代码:
```css
.container {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
h1 {
margin-top: 50px;
font-weight: bold;
font-size: 48px;
text-align: center;
}
.number-board {
margin-top: 50px;
width: 400px;
height: 200px;
background-color: #f2f2f2;
display: flex;
justify-content: center;
align-items: center;
border-radius: 10px;
}
.number-display {
font-size: 120px;
}
.btn {
margin-top: 50px;
padding: 20px 40px;
font-size: 24px;
background-color: #4CAF50;
color: white;
border: none;
border-radius: 10px;
cursor: pointer;
}
.btn:hover {
background-color: #3e8e41;
}
.winner-board {
margin-top: 50px;
width: 400px;
border-radius: 10px;
background-color: #f2f2f2;
padding: 20px;
}
.winner-board h2 {
font-size: 24px;
font-weight: bold;
}
.winner-list {
list-style-type: none;
margin: 0;
padding: 0;
}
.winner-list li {
font-size: 18px;
margin-top: 10px;
}
```
JavaScript代码:
```javascript
// 随机生成1到400的整数
function getRandomNumber() {
return Math.floor(Math.random() * 400) + 1;
}
// 检查号码是否已经中过奖
function hasWon(usedNumbers, number) {
return usedNumbers.indexOf(number) !== -1;
}
// 开始抽奖
function startLottery() {
var numberDisplay = document.querySelector('.number-display');
var winnerList = document.querySelector('.winner-list');
// 已经中过奖的号码
var usedNumbers = [];
// 每次抽奖的时间间隔
var interval = 100;
// 总共抽取次数
var totalTimes = 10;
// 当前抽取次数
var currentTimes = 0;
// 抽奖动画
var lotteryAnimation = setInterval(function() {
// 随机生成一个未中奖的号码
var number = getRandomNumber();
while (hasWon(usedNumbers, number)) {
number = getRandomNumber();
}
// 显示正在抽取的号码
numberDisplay.innerHTML = number;
// 延时一段时间后清空显示
setTimeout(function() {
numberDisplay.innerHTML = '';
}, interval);
// 将中奖号码添加到已中奖列表中
usedNumbers.push(number);
// 如果已经抽取了足够的次数,则停止抽奖动画
currentTimes++;
if (currentTimes === totalTimes) {
clearInterval(lotteryAnimation);
alert('恭喜中奖!');
return;
}
}, interval);
}
```
您可以将这些代码复制到对应的文件中(HTML代码放在.html文件中,CSS代码放在.css文件中,JavaScript代码放在.js文件中),然后在浏览器中打开该HTML文件,即可看到抽奖器的界面。
希望这个简单的抽奖器对您有所帮助!
阅读全文