2

查看源:http://raphaeljs.com/touches.html

http://raphaeljs.com/touches.html

如果有人解释为什么这个拖放示例有效,我会很高兴。我可以粗略地收集每个功能在做什么,但我无法拼凑为什么当没有任何东西告诉它移动时它会移动。

4

1 回答 1

3

move函数的行为类似于回调,它需要 2 个参数,dx, dy. 它们分别代表 delta-X 和 delta-Y。

如果你看到这一行:

this.attr({cx: this.ox + dx, cy: this.oy + dy});

然后你会注意到 ox 和 oy 分别代表 original-X 和 original-Y。

因此,您可以推断出 attr 函数是使用指定原始 X + delta X 和原始 Y + delta Y 的参数调用的。

有道理?

不要与动画调用混淆 - 它们用于在开始/停止时扩展/收缩形状。每次移动鼠标时,move都会调用该函数并attr更新 。

于 2012-07-25T18:25:48.043 回答