写一个html随机选择吃饭的转盘代码
时间: 2024-01-26 08:02:50 浏览: 225
js脚本,随机选择去哪里吃饭?静态html,直接运行
好的,以下是一个简单的 HTML 随机选择吃饭的转盘代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>随机选择吃饭的转盘</title>
<style type="text/css">
#canvas {
width: 300px;
height: 300px;
background-color: #f2f2f2;
border-radius: 50%;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}
#btn {
margin-top: 20px;
padding: 10px 20px;
background-color: #4caf50;
border: none;
border-radius: 5px;
color: #fff;
font-size: 16px;
cursor: pointer;
}
</style>
</head>
<body>
<canvas id="canvas"></canvas>
<button id="btn">开始选择</button>
<script type="text/javascript">
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var btn = document.getElementById('btn');
var items = ['麻辣烫', '盖浇饭', '炸鸡汉堡', '烤肉拌饭', '牛肉拉面', '披萨', '火锅', '烧烤'];
// 绘制扇形
function drawSector(x, y, r, sAngle, eAngle, color) {
ctx.beginPath();
ctx.moveTo(x, y);
ctx.arc(x, y, r, sAngle, eAngle, false);
ctx.closePath();
ctx.fillStyle = color;
ctx.fill();
}
// 绘制转盘
function drawRoulette() {
var x = canvas.width / 2;
var y = canvas.height / 2;
var r = canvas.width / 2 - 10;
var sAngle = 0;
var eAngle = Math.PI * 2 / items.length;
for (var i = 0; i < items.length; i++) {
var color = i % 2 == 0 ? '#ff5722' : '#ffc107';
drawSector(x, y, r, sAngle, sAngle + eAngle, color);
sAngle += eAngle;
}
}
// 旋转转盘
function rotateRoulette() {
var angle = 0;
var timer = setInterval(function() {
angle += 5;
if (angle >= 360) {
clearInterval(timer);
var index = Math.floor(Math.random() * items.length);
alert('今天吃' + items[index] + '!');
}
canvas.style.transform = 'rotate(' + angle + 'deg)';
}, 30);
}
// 点击按钮触发旋转
btn.onclick = function() {
rotateRoulette();
};
drawRoulette();
</script>
</body>
</html>
```
这段代码使用 canvas 绘制了一个随机选择吃饭的转盘,点击“开始选择”按钮即可触发转盘的旋转。注意,在实际使用中,你可能需要根据自己的需求进行一些修改。
阅读全文