jsplumb 绘制页面链接线

jsplumb 绘制页面链接线最近公司打算实现通用的流程设计 对比之前公司有一套源码 发现它采用的是 FlowDesign 来实现的 但从晚上查找之后发现它实际上是采用了 jsplumb 来实现流程绘制的 这也不难理解 毕竟 jsplumb 是通用的程序 FlowDesign 只能算是 jsplumb 的具体使用 FlowDesign 的地址是 http flowdesign leipi org Jsplumb 官网 https

最近公司打算实现通用的流程设计,对比之前公司有一套源码,发现它采用的是FlowDesign来实现的,但从晚上查找之后发现它实际上是采用了jsplumb 来实现流程绘制的,这也不难理解,毕竟jsplumb 是通用的程序,FlowDesign只能算是jsplumb的具体使用,

FlowDesign 的地址是http://flowdesign.leipi.org/

Jsplumb官网:https://jsplumbtoolkit.com

GitHub:https://github.com/sporritt/jsplumb/

jsplumb 的概念中主要分为四部分:参照jsplumb介绍的文档写的

          锚(Anchor):一个位置,放置端点的地方,相对于一个元素的来源,您不需要自己硬编码来创建它,jsPlumb提供给您各种功能,您只需要按照您的需要创建它就可以了。它没有可视化的显示,只是一个逻辑位置,可以使用锚的id来引用它,jsPlumb支持这样做,并且您可以使用坐标来表示[x,y,x方向,y方向]

         端点(Endpoint ):链接的一端的可视化表示,您可以创建并可以链接他们;您可以让他们支持拖拽,或者您可以直接使用jsPlumb.connect()在创建链接时直接创建它们。

         连接器(Connector):链接两个元素的线,页面的可视化表示,jsPlumb有三种默认类型:Bezier曲线,直线,和流程图链接器,您不用去处理连接器,当您需要使用它们时,您只需要定义它们即可。

         覆盖物(Overlay):一个UI组件,是用来是用来装饰连接器,例如标签、箭头等。

参照https://segmentfault.com/a/22507 绘制的位置图来理解

jsplumb 绘制页面链接线

 

按照说明必须引用的文件如下:

在使用jsplumb来实现自己的示例程序如下:

<style> #diagramContainer { padding: 20px; width: 80%; height: 400px; border: 1px solid gray; background-image: url(http://p3alsaatj.bkt.clouddn.com/310_1bVYeW_grid.jpeg); background-repeat: repeat; } .item { height: 80px; width: 80px; border: 1px solid blue; float: left; } .myCssClass { color: bisque; background-color: red; } </style> </head> <body> <div id="diagramContainer"> <div id="item_left" class="item"></div> <div id="item_right" class="item" style="margin-left:300px;margin-top: 100px;"></div> </div> </body> <script> //Straight:直线,Bezier :Bezier曲线,流程图链接器 Flowchart var common = { isSource:true, isTarget:true, connector: ['Bezier'], //paintStyle: { stroke: 'lightgray', strokeWidth: 3 },//空的锚点风格 endpointStyle: { fill: 'lightgray', outlineStroke: 'darkgray', outlineWidth: 2 } } jsPlumb.ready(function(){ //添加节点 jsPlumb.addEndpoint('item_left',{achors:['Right']},common) jsPlumb.addEndpoint('item_right',{achors:['Left']},common) jsPlumb.draggable('item_left', { containment: 'parent', grid: [10, 10] }) jsPlumb.draggable('item_right') // 单点击了连接线, 似乎不怎么好用 jsPlumb.bind('click', function (conn, originalEvent) { if (confirm('确定删除所点击的链接吗?')) { jsPlumb.detach(conn) } }) }); //增加拖拽,也不怎么好用 $('.item').resizable({ resize: function (event, ui) { jsPlumb.repaint(ui.helper) } }) //jsPlumb.setContainer('adiagramContainer') </script>

显示效果如下

jsplumb 绘制页面链接线

 

C#实现参考地址:http://www.cnblogs.com/sggx/p/3836432.html

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232093.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Caffeine教程

    Caffeine教程如果是想直接看官网教程的请移步 https github com ben manes 而如果还想结合实际应用场景 以及各种坑的 请看本文 最近来了一个实习生小张 看了我在公司项目中使用的缓存框架 Caffeine 三天两头跑来找我取经 说是要把 Caffeine 吃透 为此无奈的也只能一个个细心解答了 后来这件事情被总监直到了 说是后面还有新人 让我将相关问题和细节汇总成一份教程 权当共享好了 该份教程也算是全网第一份 结合了目前我司游戏中业务场景的应用和思考 以及踩过的坑 实习生小张

    2025年12月1日
    3
  • matlab模糊控制工具箱使用教程_模糊pid控制原理

    matlab模糊控制工具箱使用教程_模糊pid控制原理Matlab模糊控制工具箱为模糊控制器的设计提供了一种非常便捷的途径,通过它我们不需要进行复杂的模糊化、模糊推理及反模糊化运算,只需要设定相应参数,就可以很快得到我们所需要的控制器,而且修改也非常方便。下面将根据模糊控制器设计步骤,一步步利用Matlab工具箱设计模糊控制器。1、模糊控制工具箱使用首先我们在Matlab的命令窗口(commandwindow)中输入fuzzy,回车就会出来…

    2022年8月30日
    4
  • 用于重新编译的工具和命令

    用于重新编译的工具和命令

    2021年11月24日
    38
  • pcanywhere远程控制的步骤_windows10远程桌面端口修改

    pcanywhere远程控制的步骤_windows10远程桌面端口修改  PcAnywhere远程连接默认端口是5631[数据端口]、5632[状态端口],实际发现其实防火墙打开5631[数据端口]端口就可以自由访问。要改变Pcanywhere数据端口[5631]要去编辑系统注册表,找到以下键值:开始->运行->regedit:HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\pcAny…

    2025年11月6日
    4
  • iterator_category

    /**迭代器类型*1.inputierator*2.writeiterator*3.forwarditerator在迭代器所形成的区间上进行读写操作*4.bidir

    2021年12月18日
    61
  • matlab 仿真 报错,matlab仿真错误记录

    matlab 仿真 报错,matlab仿真错误记录1.求数值积分quadl函数。被积函数表达式需要写成点乘(点操作)的形式,否则要不积出的结果不对,要么报错。2.simulink的打开错误:Unabletoopentheblockormodelfilenamed’*’.解决:路径不对,将当前路径切换到模块所在路径。3.simulink运行时出现Warning:Themodel’*‘doesnothaveco…

    2022年5月21日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号