更新时间:2020-10-28 00:26:05
一,需要引用的文件:
<link rel="stylesheet" type="text/css" href="./css/jquery-ui.min.css"> <link rel="stylesheet" type="text/css" href="./css/style.css"> <script src="https://www.jq22.com/jquery/jquery-1.10.2.js"></script> <script src="https://www.jq22.com/jquery/jquery-ui-1.11.0.js"></script> <script type="text/javascript" src="./js/jquery.jsPlumb.min.js"></script> <script type="text/javascript" src="./js/index.js"></script>
二、官方jsPlumb.js方法参考:
https://github.com/wangduanduan/jsplumb-chinese-tutorial
jsplumb能干什么?
那么如果你应该使用它取决于你想用jsPlumb做什么。该框架适用于必须绘制图表的Web应用程序,例如类似于Visio的应用程序或工作流程设计器等。由于图表项目和连接的所有参数都是非常精细可控的,因此您可以绘制您可以想到的任何类型的图表的!
基本概念
Souce 源节点
Target 目标节点
Anchor 锚点 锚点位于源节点或者目标节点上
Endpoint 端点 端点位于连线上
Connector 连接 或者也可以理解是连接线
Overlays 可以理解为在连接线上的文字或者箭头之类的东东
Anchors [todo]
锚点类型:
静态锚点
动态锚点
边缘锚点
固定锚点
Connectors [todo]
连线类型:
Bezier 贝塞尔曲线
Straight 直线
Flowchart 90度转角线
State Machine 状态机
Endpoints [todo]
端点类型:
Dot 圆点
Rectangle 矩形
Image 图像
Blank 空白
Overlays [todo]
Overlays可以理解为在连接线上的文字或者箭头之类的东东
Overlays类型
Arrow
Label
PlainArrow
Diamond
Custom
// 连线上overlay可以多个, // 每个overlay可以指定相对位置 // label类型的overlay实际上可以在里面直接写html // jsPlumb.connect({ ... connectorOverlays: [ ['Arrow', { width: 10, length: 10, location: 1 }], ['Label', { label: '<button class="delete-node-btn">X</button>', cssClass: '', labelStyle: { color: 'red' }, events: { click: function (labelOverlay, originalEvent) { console.log('click on label overlay for :' + labelOverlay.component) console.log(labelOverlay) console.log(originalEvent) } } }] ] });
连接两个节点
jsPlumb.ready方法和jquery的ready方法差不多的功能,jsPlumb.connect用于建立连线
<div id="diagramContainer"> <div id="item_left" class="item"></div> <div id="item_right" class="item" style="margin-left:50px;"></div> </div> <script src="https://cdn.bootcss.com/jsPlumb/2.6.8/js/jsplumb.min.js"></script> <script> /* global jsPlumb */ jsPlumb.ready(function () { jsPlumb.connect({ source: 'item_left', target: 'item_right', endpoint: 'Dot' }) }) </script>
参数说明: jsPlumb.connect(config) return connection
参数 | 参数类型 | 是否必须 | 说明 |
---|---|---|---|
source | String,Object,Endpoint | 是 | 连线源的标识,可以是id, element, 或者Endpoint |
target | String,Object,Endpoint | 是 | 连线目标的标识,可以是id, element, 或者Endpoint |
endpoint | String | 可选 | 端点类型,形状 |