【发布时间】:2019-03-08 23:13:57
【问题描述】:
我想创建一个允许书写化学式的画布 这个想法是使用六边形,可以点击他的顶部来改变原子。因此,当我们单击六边形顶点时,会出现一个下拉菜单,我们可以在其中选择原子。 我可以将下拉菜单作为同级添加到画布并通过容器定位它,但是我如何动态地(通过鼠标单击)在画布上添加下拉菜单。
欢迎任何想法,反思。 我制作了一个简单的六边形,它可以代表环己烷 有代码建议的人
var canvas = document.querySelector('#canvas').getContext('2d'),side = 0,
size = 100,
x = 100,
y = 100;
canvas.beginPath();
canvas.moveTo(x + size * Math.cos(0), y + size * Math.sin(0));
for (side; side < 7; side++) {
canvas.lineTo(x + size * Math.cos(side * 2 * Math.PI / 6), y + size * Math.sin(side * 2 * Math.PI / 6));
}
canvas.stroke();
#canvas {
width: 200px;
height: 200px;
}
<canvas id="canvas" width="400" height="400"></canvas>
【问题讨论】:
-
您到底需要什么?如何显示事件中的元素?如何检测画布特定区域/形状上的点击事件?如何相对于画布正确定位元素?请缩小您的问题范围,我们不编写免费代码,请注意,我列举的所有问题都已在此处被多次询问和回答。
-
@Kaiido 问题是如何在鼠标点击画布上放置一个html元素
-
你知道如何相对于另一个元素定位一个元素吗?你也知道如何监听点击事件吗?那你就不需要我们了。否则,请搜索一下,正如我所说,这些问题已经回答了很多次了。如果你因为后面的元素是
标签: javascript canvas html5-canvas