html 转盘 自定义格数
时间: 2023-07-20 21:16:48 浏览: 108
九宫格大转盘抽奖源码
要自定义 HTML 转盘的格数,你可以通过以下步骤进行:
1. 在 HTML 中添加一个 input 元素,用于输入格数。
2. 在 JavaScript 中获取输入的格数,并根据格数计算出每个色块的角度。
3. 画出圆形,并添加每个色块,使用上一步计算出的角度。
以下是一个自定义格数的 HTML 转盘代码示例:
```html
<!DOCTYPE html>
<html>
<head>
<title>HTML 转盘</title>
<style>
canvas {
border: 1px solid #ccc;
margin: 20px auto;
}
</style>
</head>
<body>
<label for="sectors">请输入格数:</label>
<input type="number" id="sectors" min="2" max="10" value="6">
<canvas id="canvas" width="400" height="400"></canvas>
<script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var input = document.getElementById("sectors");
input.onchange = function() {
draw(parseInt(input.value));
};
function draw(sectors) {
// 计算每个色块的角度
var angle = 2 * Math.PI / sectors;
// 画一个圆形
ctx.beginPath();
ctx.arc(200, 200, 180, 0, 2 * Math.PI);
ctx.fillStyle = "#fff";
ctx.fill();
// 添加色块
var colors = ["#f00", "#0f0", "#00f", "#ff0", "#f0f", "#0ff"];
for (var i = 0; i < sectors; i++) {
ctx.beginPath();
ctx.moveTo(200, 200);
ctx.arc(200, 200, 160, i * angle, (i + 1) * angle);
ctx.fillStyle = colors[i % colors.length];
ctx.fill();
}
}
draw(parseInt(input.value));
</script>
</body>
</html>
```
你可以将上述代码复制到一个 HTML 文件中并打开,即可看到一个自定义格数的 HTML 转盘。注意,输入的格数必须在 2-10 的范围内,并且必须重新计算每个色块的角度并重新绘制转盘。
阅读全文