先决条件:d3强制定向布局; 一些节点通过连续点击逐个选择(视觉他们做大代码推到阵列)在d3中拖动多个节点强制定向布局
有没有办法来拖他们都通过挑选一个与鼠标相同的方式,在文件Windows资源管理器?
P.S.我在这里得到了非常多的答案,而不需要很长时间。这是我的第一个问题。预先感谢任何帮助!
先决条件:d3强制定向布局; 一些节点通过连续点击逐个选择(视觉他们做大代码推到阵列)在d3中拖动多个节点强制定向布局
有没有办法来拖他们都通过挑选一个与鼠标相同的方式,在文件Windows资源管理器?
P.S.我在这里得到了非常多的答案,而不需要很长时间。这是我的第一个问题。预先感谢任何帮助!
我强制拖拽多个节点(基于儿童)的方式是通过记录拖动节点在我的tick函数内的位移,该变量的作用域允许该值在下一次tick运行时仍然存在。
您将需要一个对象,其中的关键字是要拖动的节点的唯一标识符,值是您想要在拖动关键节点时翻译/拖动的节点的d3选择。
dragObject
是上述目的。
nodeData
是您正在拖动的主节点的d3数据 - (d3.select(node uid).datum())。
offset.x
和offset.y
组成了上一次运行时刻定义的上述变量。
var translateAllChildren = function (nodeData) {
if (dragObject[nodeData.uid]) {
dragObject[nodeData.uid]
.attr("transform", function(d) {
d.x = (d.x + offset.x);;
d.y = (d.y + offset.y);
return "translate(" + d.x + "," + d.y + ")";
});
}
}
我知道这是旧的答案,但可以提供更多的细节? :) –
@Wexoni关于具体的事情? –
@Dmitra Kyianytsia(又名约翰Veinmann),**你尝试过什么?**(-1不公布任何企图) –