帮我写一个抽奖轮盘的html
时间: 2023-07-28 17:09:45 浏览: 179
html5制作抽奖圆盘
5星 · 资源好评率100%
好的,以下是一个简单的抽奖轮盘的 HTML 代码,你可以根据需要进行修改:
```
<!DOCTYPE html>
<html>
<head>
<title>抽奖轮盘</title>
<meta charset="UTF-8">
<style type="text/css">
body { margin: 0; padding: 0; }
canvas { display: block; }
#spinBtn {
display: block;
margin: 50px auto;
padding: 10px 20px;
background-color: #ff9900;
color: #fff;
font-size: 24px;
border-radius: 5px;
cursor: pointer;
}
</style>
</head>
<body>
<canvas id="canvas" width="500" height="500"></canvas>
<button id="spinBtn">点击抽奖</button>
<script type="text/javascript">
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var img = new Image();
img.src = "转盘图片地址"; // 替换为你的转盘图片地址
img.onload = function() {
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
// 点击抽奖按钮
var spinBtn = document.getElementById("spinBtn");
spinBtn.onclick = function() {
// 随机获取一个奖品
var prizes = ["一等奖", "二等奖", "三等奖", "谢谢参与"];
var result = prizes[Math.floor(Math.random() * prizes.length)];
// 获取旋转角度
var angles = {
"一等奖": 30,
"二等奖": 90,
"三等奖": 150,
"谢谢参与": 210
};
var angle = angles[result];
// 开始旋转
var rotateAngle = 0;
var timer = setInterval(function() {
if (rotateAngle >= angle + 360 * 5) { // 旋转5圈以上
clearInterval(timer);
alert("恭喜你获得:" + result);
return;
}
ctx.save();
ctx.translate(canvas.width / 2, canvas.height / 2);
ctx.rotate(rotateAngle * Math.PI / 180);
ctx.drawImage(img, -canvas.width / 2, -canvas.height / 2, canvas.width, canvas.height);
ctx.restore();
rotateAngle += 10; // 每次旋转10度
}, 30); // 每30毫秒旋转一次
};
};
</script>
</body>
</html>
```
说明:
1. 代码中的 `转盘图片地址` 部分需要替换为你的转盘图片的地址。
2. `prizes` 数组存储了所有的奖品,可以根据需要修改或添加。
3. `angles` 对象存储了每个奖品对应的旋转角度,可以根据需要修改。
4. 每次点击抽奖按钮,会随机获取一个奖品,并根据该奖品的旋转角度开始旋转,旋转5圈以上后停止,并弹出获奖提示。
阅读全文