现要求制作一个简单的抽奖页面,已知几个参选人的图片,通过点击开始按钮开始随机切换头像, 点击停止时停止切换并将获奖头像放大到右边的框中,
时间: 2024-01-07 18:04:43 浏览: 61
你可以先准备好参选人的图片,然后使用HTML、CSS和JavaScript来实现抽奖页面。
下面是一个简单的实现思路:
1. 在HTML中创建一个包含所有参选人头像的容器,以及一个抽奖按钮和一个展示获奖头像的容器。
```html
<div id="candidates">
<img src="candidate1.jpg">
<img src="candidate2.jpg">
<img src="candidate3.jpg">
...
</div>
<button id="start-btn">开始</button>
<div id="winner-container">
<img id="winner-img">
</div>
```
2. 使用CSS样式设置容器和头像的大小、位置和样式。
```css
#candidates {
display: flex;
justify-content: space-around;
align-items: center;
width: 800px;
height: 200px;
margin: 20px auto;
}
#candidates img {
width: 150px;
height: 150px;
border-radius: 50%;
}
#start-btn {
display: block;
margin: 20px auto;
padding: 10px 20px;
font-size: 20px;
background-color: #f00;
color: #fff;
border: none;
border-radius: 5px;
}
#winner-container {
width: 200px;
height: 200px;
margin: 20px auto;
border: 1px solid #ccc;
border-radius: 50%;
overflow: hidden;
}
#winner-img {
width: 100%;
height: 100%;
object-fit: cover;
}
```
3. 使用JavaScript监听抽奖按钮的点击事件,开始切换头像。
```javascript
var candidates = document.getElementById('candidates').getElementsByTagName('img');
var startBtn = document.getElementById('start-btn');
var winnerImg = document.getElementById('winner-img');
var intervalId; // 保存定时器ID
startBtn.onclick = function() {
startBtn.disabled = true; // 禁用按钮
intervalId = setInterval(function() {
// 随机切换头像
var index = Math.floor(Math.random() * candidates.length);
var candidate = candidates[index];
candidate.style.border = '5px solid #f00';
setTimeout(function() {
candidate.style.border = 'none';
}, 500);
}, 100);
};
```
4. 使用JavaScript监听停止按钮的点击事件,停止切换头像并展示获奖头像。
```javascript
var stopBtn = document.getElementById('stop-btn');
stopBtn.onclick = function() {
clearInterval(intervalId); // 停止定时器
startBtn.disabled = false; // 启用按钮
var index = Math.floor(Math.random() * candidates.length); // 随机选择一个获奖头像
var winner = candidates[index];
winnerImg.src = winner.src;
};
```
完整的代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>简单抽奖页面</title>
<style>
#candidates {
display: flex;
justify-content: space-around;
align-items: center;
width: 800px;
height: 200px;
margin: 20px auto;
}
#candidates img {
width: 150px;
height: 150px;
border-radius: 50%;
}
#start-btn {
display: block;
margin: 20px auto;
padding: 10px 20px;
font-size: 20px;
background-color: #f00;
color: #fff;
border: none;
border-radius: 5px;
}
#winner-container {
width: 200px;
height: 200px;
margin: 20px auto;
border: 1px solid #ccc;
border-radius: 50%;
overflow: hidden;
}
#winner-img {
width: 100%;
height: 100%;
object-fit: cover;
}
</style>
</head>
<body>
<div id="candidates">
<img src="candidate1.jpg">
<img src="candidate2.jpg">
<img src="candidate3.jpg">
...
</div>
<button id="start-btn">开始</button>
<button id="stop-btn">停止</button>
<div id="winner-container">
<img id="winner-img">
</div>
<script>
var candidates = document.getElementById('candidates').getElementsByTagName('img');
var startBtn = document.getElementById('start-btn');
var stopBtn = document.getElementById('stop-btn');
var winnerImg = document.getElementById('winner-img');
var intervalId; // 保存定时器ID
startBtn.onclick = function() {
startBtn.disabled = true; // 禁用按钮
intervalId = setInterval(function() {
// 随机切换头像
var index = Math.floor(Math.random() * candidates.length);
var candidate = candidates[index];
candidate.style.border = '5px solid #f00';
setTimeout(function() {
candidate.style.border = 'none';
}, 500);
}, 100);
};
stopBtn.onclick = function() {
clearInterval(intervalId); // 停止定时器
startBtn.disabled = false; // 启用按钮
var index = Math.floor(Math.random() * candidates.length); // 随机选择一个获奖头像
var winner = candidates[index];
winnerImg.src = winner.src;
};
</script>
</body>
</html>
```
阅读全文