将一个圆圈拖放到另一个圆圈内并重新调整大小并自动调整

时间:2015-09-11 12:08:45

标签: javascript d3.js svg

我想创建类别(更大的圆圈),然后创建子类别(更小的圆圈),使得#category是使用D3 js的#subcategory的父级。

https://www.droptask.com/

这样的东西

*我需要将圆圈拖放到#category圈内,我能够做到。

http://bl.ocks.org/mbostock/4063530

我想调整大小并自动调整圆圈,我可以将圆圈拖动到另一个圆圈,它变成圆圈的子类别。

我无法正确使用包布局中的强制。有人可以建议一种方式。

1 个答案:

答案 0 :(得分:0)

当然可以。这是我如何处理这个问题。

创建组层次结构。

让我们说你的洞穴类别&子类别。我会这样做的。

<g id='category'></g>
<g id='sub_category'></g>

无论您想拥有什么样的形状,都可以在组内绘制它们。

<g id='category'>
   <circle>...</circle>
   <circle>...</circle>
</g>
<g id='sub_category'>
   <circle>...</circle>
   <circle>...</circle>
   <circle>...</circle>
</g>

现在您可以编写拖动事件。对于类别圈子。 为了将子类别删除到某个类别,请创建一个&#39; mouseover&#39;类别组的事件,当您在类别圈子上时设置布尔值,当您删除子类别时,请确保设置了布尔值。 (显然你必须在mouseout上取消它)。

我希望你明白这个主意。试试看。回到你的工作和&amp;我们可以提供更多帮助