在这个JSFiddle中,我已经在svg中实现了元素。我希望这些元素可以作为一个组进行拖动,我已经尝试使用
这是什么原因,如何解决?
以下是拖动函数:
d3.drag
和transform:translate
进行拖动。但是拖动不够平滑,会出现闪烁和跳跃的情况。这是什么原因,如何解决?
以下是拖动函数:
var dragcontainer = d3.drag()
.on("start", function() {})
.on("drag", function(d, i) {
var x = d3.event.x;
var y = d3.event.y;
d3.select(this.parentNode.parentNode).attr("transform", "translate(" + x + "," + y + ")");
})
.on("end", function() {});
d3.event.x
是相对于父元素的,通过移动父元素而不是拖动的元素,您可以改变下一个“tick”的d3.event.x
。 - Joseph Youngdrag.subject
? - Joseph Young