2013-04-21 244 views
0

我使用D3拖动拖动画布周围的一些圈子。然后我有他们固定的位置。不过,我希望从距离位置他们从另一个SVG元素,我已经创建了:D3.Drag.Behaviour不工作,因为它应该

node.attr("transform", function(d,i) { return "translate ("+ arc[i].centroid() +")" +"translate("+d.x+","+d.y+")"; }) 

当拖动圆圈不要拖动,直到鼠标&的多次点击通常是从实际鼠标手为止。

我知道我可以摆脱质心,但想知道围绕这个问题的工作。

http://jsfiddle.net/Zc4z9/10/

回答

0

你得到第一拖曳尝试结果的事实,在翻译上线57人不符合再往下跳跃。为了避免跳跃,使第57和76行匹配。更改57:

d3.select(this).attr("transform", "translate ("+ arc[i].centroid() +")" +"translate("+d.x+","+d.y+")"); 

为了得到这个工作,我必须通过d和我在52行参数:

.on("drag", function(d, i) { 

工作小提琴:http://jsfiddle.net/Zc4z9/11/

相关问题