【发布时间】:2015-10-23 18:20:27
【问题描述】:
我制作了一个脚本,它允许我在 svg 元素中拖动一个圆圈。 我有一个可拖动的蓝色球,但是当我向右拖动时,球没有跟随鼠标。相反,它会跳到鼠标前面。 我还有一个红球,当它以弹性运动被拖动时,我想跟随蓝球。 JsFiddle 链接: http://jsfiddle.net/qnhey17f/1/
代码(Html):
<!-- I had to add the g element, because the other circle wouldn't display otherwise -->
<svg width="500" height="500" style="background-color: lightgrey; border: 1px solid black;">
<g>
<circle class="dragCircle" cx="50" cy="50" fill="blue" r="30" cursor="pointer">
</g>
<circle cx="50" cy="150" fill="red" r="30" cursor="pointer">
</svg>
代码(Js):
var drag = d3.behavior.drag().on("drag", dragMovement);
function dragMovement(d)
{
var dX = d3.event.x;
var dY = d3.event.y;
d3.select(this).attr("transform", "translate(" + dX + ", " + dY + ")");
}
d3.select(".dragCircle").call(drag);
【问题讨论】:
-
您所说的弹性运动是什么意思,您针对该特定功能尝试过什么?
标签: javascript html d3.js svg drag