Jquery:Draw 拖动时动态设置 Svg 线
Jquery:Draw Svg Line Dynamically While Dragging
我需要将单元格从一个 table 拖放到另一个 table,我正在使用它为 SQL table[动态开发外键映射=15=]
其中 table 也可以在 window 内拖动,两个 table 之间的映射和绘图线工作完美
但是当我将 table 彼此靠近并且当我在 table 的交点之后进一步移动 table 时,线不会在 table 之间绘制tables,我知道问题出在哪里,但我无法弄清楚,如何在 tables 之间画线,而 intersection
所以这个问题有点像从左到右而不是从右到左画的线,它被当作交点
Example: http://jsfiddle.net/mohamedmusthafac/2ecsjomz/embedded/result/
这是最简单的例子 fiddle
Example : http://jsfiddle.net/mohamedmusthafac/2ecsjomz/4/
如果将左拖动框拖过右拖动框,则不会绘制线条
这只是一个演示,您可以将主键从 table 1 拖放到 Table 2 中,效果很好,但与反向相同,不会从 [=39 绘制线条=] 2 到 table 1 并且如果您拖动 table 与 table 2 相交,则线条不会绘制
为了更好的理解:
画的很完美
但是当我们将 table 靠近另一条 table 线时,它并没有画出来
问题最后调试起来很简单。您的问题从这里开始:
svgleft = Math.round(el1pos.left + el1W);
svgwidth = Math.round(el2pos.left - svgleft);
一旦方框开始重叠,svgwidth
就变成负数。具有负宽度的 SVG 是错误的,SVG 将不会被渲染。
您要么必须防止框重叠,要么更改代码以允许 'right' 位于 'left' 的左侧。
我需要将单元格从一个 table 拖放到另一个 table,我正在使用它为 SQL table[动态开发外键映射=15=]
其中 table 也可以在 window 内拖动,两个 table 之间的映射和绘图线工作完美
但是当我将 table 彼此靠近并且当我在 table 的交点之后进一步移动 table 时,线不会在 table 之间绘制tables,我知道问题出在哪里,但我无法弄清楚,如何在 tables 之间画线,而 intersection
所以这个问题有点像从左到右而不是从右到左画的线,它被当作交点
Example: http://jsfiddle.net/mohamedmusthafac/2ecsjomz/embedded/result/
这是最简单的例子 fiddle
Example : http://jsfiddle.net/mohamedmusthafac/2ecsjomz/4/
如果将左拖动框拖过右拖动框,则不会绘制线条
这只是一个演示,您可以将主键从 table 1 拖放到 Table 2 中,效果很好,但与反向相同,不会从 [=39 绘制线条=] 2 到 table 1 并且如果您拖动 table 与 table 2 相交,则线条不会绘制
为了更好的理解:
画的很完美
但是当我们将 table 靠近另一条 table 线时,它并没有画出来
问题最后调试起来很简单。您的问题从这里开始:
svgleft = Math.round(el1pos.left + el1W);
svgwidth = Math.round(el2pos.left - svgleft);
一旦方框开始重叠,svgwidth
就变成负数。具有负宽度的 SVG 是错误的,SVG 将不会被渲染。
您要么必须防止框重叠,要么更改代码以允许 'right' 位于 'left' 的左侧。