3

我对 javascript 和 raphaelJS 很陌生,很抱歉我的代码混乱,但我需要完成下一个任务:我需要绘制一个矩形并设法拖放和调整它的大小。这种方式必须适用于平板电脑。我想在底部和右侧绘制 2 个小圆圈并用它们调整这个矩形的大小,但我猜我的数学有问题,因为下一个代码有一些问题:http: //jsfiddle.net/x5zHp/(有只有一个圆圈)

当我拖动矩形时,您可以看到鼠标和矩形没有同时移动,并且鼠标箭头滑出。

您能否指出我的错误以及一些最佳代码解决方案,我将不胜感激。我找到了一个名为 free transform 的插件,但我想自己完成这项任务,因为最终我需要用它做一些事情,并且很难使用这个插件(例如,我将改变圆圈的大小或制作隐形圆圈,因为它必须很容易在平板电脑上工作。原因是用手指很难抓住平板电脑上的圆圈)谢谢你的进步,对不起我的英语

更新

最后http://jsfiddle.net/y5Jag/7/我搞定了。我还添加了一个不可见的圆圈,因此很容易捕捉到可见的圆圈(实际上我会在平板电脑中使用它)我唯一真正讨厌的是代码。非常混乱:

this.ox = this.attr('cx');
this.oy = this.attr('cy');
this.rox = Spectrum.resizer.attr('cx');
this.roy = Spectrum.resizer.attr('cy');
this.rwidth = Spectrum.rect.attr('width');
this.rheight = Spectrum.rect.attr('height');

任何建议如何美化这个...

4

1 回答 1

1

如果我正确理解您的问题,您几乎就在那里,您只需将距离乘以 2,因为正方形在两侧都按比例缩放...

this.scale = params.scale.y + dy*2 / rect.attr('height');

http://jsfiddle.net/y5Jag/

于 2012-06-19T01:57:49.303 回答