当前位置: 首页 > 知识库问答 >
问题:

如何更改JsPlumb中的源锚起始位置?

米嘉禧
2023-03-14

我正在使用jsPlumb开发一个应用程序。目前,如果我创建一个形状,它会将该形状放在画布的左上角。如果我从源点连接到目标点,它就工作了。

现在,我想在右键单击并从源连接到目标的位置创建形状。我能够在右键单击的位置创建形状。

但是,如果我从一个源拖动到另一个目标,源锚点就不是从源开始的。相反,它从左上角开始。在下面的屏幕截图中,我想从“项目”拖到“无状态”形状。

还有一件事是,如果我拖动“项目”形状,endpoint将正确地从源开始。

共有1个答案

陶鸿畴
2023-03-14

我已经解决了这个问题。之前,代码中的if块(1)位于代码(2)下方。这就是为什么即使形状移动到了新位置,锚的起始位置也没有移动。只要我将if块(1)移动到(2)上方,jsPlumb就会了解形状的位置以及锚的起点位置。

因此,如果要移动形状,应在将形状位置告知JSP之前进行移动。

    if (!!shape.location) { ------------------------------------> 1)
        domEl.style.left = shape.location.left + 'px';
        domEl.style.top = shape.location.top + 'px';
    }

    this.jsPlumbInstance.draggable(domEl, {
        // to contain the shape within the canvas
        // containment: true
    });

    this.jsPlumbInstance.makeSource(domEl, { ----------------------2)
        filter: '.cp',
        anchor: ['AutoDefault'],
        connectorStyle: {
            stroke: '#181919',
            strokeWidth: 2,
            outlineStroke: 'transparent',
            outlineWidth: 4
        }
    });
 类似资料:
  • 我试图保存并加载jsPlumb流程图,但在重新创建连接时遇到问题。当我尝试加载时,它们彼此重叠。图1显示了我如何保存流程图,图2显示了如何加载流程图。 我已经看过这个主题和这个主题,并且使用和或或简单不起作用。如果我用打印它,它会显示。我不知道这是关于版本还是其他什么的,但看起来“anchor”没有“x”和“y”。我使用的是jsPlumb 1.5.5

  • 以下是我的用例: 我希望能够在JSPlumb连接中分别为源和目标设置连续锚定面。 来源:右边的连续锚 对于目标:在“左侧”连续定位 我试过分别设置连续锚,但似乎不起作用。 这个留档不够清楚。 我已经尝试过了: 但是,如何为标记集和源指定不同的锚定面? 感谢您的帮助!

  • 我试图找出一种方法,如何将endpoint锚动态添加到jsPlumb容器中。 我希望源endpoint位于左侧,目标endpoint仅位于右侧。 问题是,我无法找到任何方法来做到这一点,而不是像我现在这样求助于一些黑客。 jsPlumb支持连续锚,但单个锚的位置将根据连接器之间的方向和连续锚的数量重新计算。这意味着源endpoint和目标endpoint可以共享容器的同一侧,这是我希望避免的。 这

  • 我想更改我的Android项目的设置,这样源代码就不会从[project_name]/app/src中获取,而是可以将其设置为从外部文件夹中获取。 项目结构原因是我想要共享我的src文件夹,所以我想在我的本地计算机上的Dropbox文件夹下定位。 有没有办法在Android Studio改变一个Android项目的SRC文件夹的路径?(在《月蚀》中,这是可能的) 以下是在Eclipse中如何完成的

  • 我在azure中有一个设置,在一个资源组中组合了一组资源。我希望我的服务位于西欧,因此我的所有资源都在那里(如果可能) 我刚刚注意到,当创建资源组时,我不小心使用了美国西部。 因此,当前的设置是: 资源组1(美国西部) 应用服务1(西欧) 应用服务2(西欧) SQL服务器(西欧) 存储帐户(西欧) (西欧) 我是否可以更改资源组的位置而不必创建新组并每次迁移? 也许更重要的是:我应该改变位置还是不

  • 本文向大家介绍如何更改 pandas dataframe 中两列的位置,包括了如何更改 pandas dataframe 中两列的位置的使用技巧和注意事项,需要的朋友参考一下 如何更改 pandas dataframe 中两列的位置: 把其中的某列移到第一列的位置。 原来的 df 是: 要将 Mid 这一列移动到第一列? 解决办法:(使用 ix ) 法一: 法二: 最终的处理结果: 以上这篇如何更