- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以使 jsPlumb Flowchart 连接器不交叉连接项目或指定元素(在示例中:具有“项目”类的元素)?
默认流程图行为:
期望的结果:
这是我尝试过的:
<div id="root">
<div class="item" id="item1">Item 1</div>
<div class="item" id="item2">Item 2</div>
<div class="item" id="item3">Item 3</div>
<div class="item" id="item4">Item 4</div>
<div class="item" id="item5">Item 5</div>
</div>
jsPlumb.connect({
source: $('#item2'),
target: $('#item7'),
anchors: [ "Continuous" ],
connector:[ "Flowchart" ],
paintStyle: {
strokeStyle: "#000000",
lineWidth:1
}
});
最佳答案
虽然我实际上是在尝试找到一种合适的方法来做到这一点(这让我想到了你的问题)。我确实有一个解决方案,同时我正在使用它来让 jsPlumb 以我想要的方式工作。
基本上你必须添加一个零高度/宽度的 div 来充当中间节点。然后,您可以在该节点之间建立连接,而不是直接在实际项目之间建立连接。
我有 modified your jsfiddle (updated link) 提供一个例子。
需要注意的重要事项是使用坐标设置 anchor 位置的能力以及使用两种不同端点形状的能力。此外,由于在您的示例中从 anchor 到第一圈的默认长度太长,因此可以使用 stub 参数来控制它。
以下是相关的修改和评论。
HTML
<div id="root">
<div class="item" id="item1">Item 1</div>
<div class="item" id="item2">Item 2</div>
<div class="item" id="item3">Item 3</div>
<div class="item" id="item4">Item 4</div>
<div class="item" id="item5">Item 5</div>
<div class="item" id="item6">Item 6</div>
<div class="item" id="item7">Item 7</div>
<div class="node" id="8-12"></div> <!-- Midpoint -->
<div class="item" id="item8">Item 8</div>
<div class="item" id="item9">Item 9</div>
<div class="item" id="item10">Item 10</div>
<div class="item" id="item11">Item 11</div>
<div class="item" id="item12">Item 12</div>
<div class="item" id="item13">Item 13</div>
<div class="item" id="item14">Item 14</div>
</div>
.node {
position: absolute;
height: 0px;
width: 0px;
visibility: hidden;
/* change these to place the midpoint properly */
left: 285px;
top: 160px;
}
//connection from item8 to midpoint(8-12)
jsPlumb.connect({
source: $('#item8'),
target: $('#8-12'),
connector:[ "Flowchart", {stub:5} ], //<== set stub length to be
// as short as you need it
paintStyle: {
strokeStyle: "#000000",
lineWidth:1
},
anchors:[ [0,0.5,-1,0],[0.5,0,0,-1] ], //<== connection position/direction
endpoints:[ ["Dot", {radius:2}],["Blank"] ] //<== Blank connector at end
});
//connection from midpoint(8-12) to item12
jsPlumb.connect({
source: $('#8-12'),
target: $('#item12'),
connector:[ "Flowchart", {stub:5} ], //<== set stub length to be
// as short as you need it
paintStyle: {
strokeStyle: "#000000",
lineWidth:1
},
anchors:[ [0,0.5,-1,0],[0.5,0,0,-1] ], //<== connection position/direction
endpoints:[ ["Blank"],["Dot", {radius:2}] ] //<== Blank connector at start
});
关于javascript - jsPlumb:如何使流程图连接器避免相交元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10621934/
我正在尝试在两个端点之间的 JSPlumb 中创建直线连接。 当我尝试连接到端点时,源点被拖动而不是创建直线连接。 这里是 fiddle : http://jsfiddle.net/dutchman7
我正在使用 jsPlumb . 我当前的功能允许我创建一个 .project div,然后可以在其中包含 .task div。 .project div 有 3 个可点击的按钮,它们都使用 jQuer
所以我正在开发一个项目,它要求我使用 jsPlumb 进行图形元素连接,并且我完全使用 AngularJS 构建我的应用程序。 如果我想将另一个库的代码包含到我的 Controller 中(以启动一些
我正在尝试使用 jsplumb 库制作流程图。我需要从单个 div 建立多个连接。 Ex- Div 1 应该连接到 Div 2 和 Div 3。我希望源端点相同,即底部中心。请让我知道应该怎么做才能完
我似乎无法弄清楚如何选择特定的 jsPlumb 连接器。我知道我可以选择与源或目标相关的所有连接器,但我经常会在同一源和目标之间有多个连接器,所以在这种情况下我看不到能够选择特定连接器的方法。 我的具
我的实现有两个元素列表,您基本上将左侧列表中的项目连接到右侧列表中的项目。 我们已将端点设置为透明,因此在桌面上看起来您只是从一侧的元素拖动到另一侧。 它在桌面上工作得很好,但在触摸设备上,我们需要端
我正在尝试在单击小部件时断开连接。 引用帖子: Jsplumb remove all connections not working with verion 2.4.3 How to delete j
我的要求是,我使用 jsplumb.addEndPoint 为两个名为“container0”和“container1”的容器添加两个端点。 现在我需要使用连接器以编程方式链接两个端点,但是 jspl
我们正在开发一个项目,该项目使用 JSPlumb 进行工作流渲染并维护一个单独的数据模型,其中包括节点(id、位置、文本等)和连接,并使用 jsPlumb.bind 使其与事件保持同步 当我开始重新创
我在 React 项目中使用社区版的 jsplumb(版本 2.15.5)。 // Outside the component plumb = jsPlumb.getInstance(mySettin
我一直在定制 jsplumb 流程图示例。目前,我可以在元素之间拖动和创建连接器,但我现在想将元素拖动到屏幕的空白部分(即不是元素)并捕获该事件。有谁知道那会是哪一个吗? 最佳答案 不要使用 jsPl
是否可以使 jsPlumb Flowchart 连接器不交叉连接项目或指定元素(在示例中:具有“项目”类的元素)? 默认流程图行为: 期望的结果: 这是我尝试过的: http://jsfiddle.n
我使用 jsPlumb 库,但遇到了问题:在对象 $(".#{instance_id}") 中添加了类 _jsPlumb_endpoint_anchor_。如何禁用向该对象添加类? 我的 Coffee
我构建了这个可连接元素应用程序,我使用 jsPlumb 来连接元素。 我的应用程序具有以下行为:按下按钮时,将添加用户应该能够连接的一组新元素。 据我阅读 jsPlumb 文档“容器”,端点应该是 和
我正在尝试使用 jsPlumb 版本 1.4.1 和 jquery 依赖项,将 UI 中的一些 div 绑定(bind)在一起。 我的初始代码: jsPlumb.bind("ready", funct
使用 jsPlumb 处理项目时,我将静态连接器设置为两个 map 标记。 jsplumb 连接器的端点出现在 map 标记图像上方,而我希望它们出现在下方。 在 jsplumb javascript
我的元素上有多个端点。 我可以获得附加到特定元素的所有连接: // plumber is my JSPlumb instance object connSet = plumber.getConnect
我正在尝试使用 jsPlumb 创建流程图。我有两个元素,我想用一条线连接它们。我想要一条线,但不是像我现在拥有的一个大点。我已经尝试在任何可以设置的地方设置点的半径,但它似乎不受影响并且保持默认的
当用户点击左侧的问题 1 时,是否可以选择任意 1 个答案,而不是多个答案。 最佳答案 maxConnections 就是您所需要的。 jsPlumb.makeTarget("el1", { ma
我想实现一个带有可拖动元素的 map 应用程序。我使用了以下代码,但是当设置了可拖动时,div元素不可拖动,只有 anchor 可拖动。我错过了什么? JSFiddle .dd{ width:6
我是一名优秀的程序员,十分优秀!