你可以在那里看到代码:http: //jsfiddle.net/jocose/CkL5F/901/ (双击框并移动鼠标)
注意:这是一个简化的示例,它是更大系统的一部分。我的最终目标是操纵路径的各个顶点。
更新:我计算了数字,数学实际上似乎是正确的。我想要做的是计算每个点到鼠标的偏移量,然后将该点移动到鼠标位置+偏移量。因此,如果我有一个 224 的鼠标,那么 224-103 = 121 然后我添加: 121+224=345 这会产生我所看到的起伏循环。我不知道为什么这些让我如此难过,任何帮助将不胜感激。
我需要手动更新 Raphael 路径元素。
为此,我使用 Raphael 强大的内置函数“parsePathString”将绝对路径转换为数组
然后我循环遍历该数组并根据鼠标位置修改值。
仅对 X 值进行更新,并且是实时的;每次鼠标移动时调用。
当元素移动时,它会在正确位置和某个异常位置之间来回闪烁。
我不知道它为什么这样做。我花了将近 5 个小时试图弄清楚这一点,但我被正式卡住了。
这是一个结果示例,您可以在其中看到值跳跃:
MOUSE224
M,103.676287
MOUSE225
M,346.323713
MOUSE227
M,107.676287
MOUSE228
M,348.323713 12
MOUSE228
M,107.676287
MOUSE229
M,350.323713
MOUSE231
M,111.67S287
MOUSE232
M,3S2.323713
MOUSE233
M,113.676287
MOUSE233
M,3S2.323713