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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • eclipse安装教程(win10版本,很全的)

    eclipse安装教程(win10版本,很全的)第一步:下载JDK。先给上下载链接:http://www.oracle.com/technetwork/java/javase/downloads/index.html之后根据自己的系统选择,x86代表32位,x64代表64位。点击相应的jdk下载。同意之后下载。(记住下载到哪,打开之后一路同意安装即可)记住你把Jdk安装到哪里,文件路径不要有中文,有时会无法识别,我是将jdk安装到D盘java文件夹下第二步:java环境变量配置。(这是第一种方法,还有第二种设置JAVA_HOME,个人推

    2022年6月13日
    66
  • c语言pdb文件,VISUAL c+中的pdb文件及其作用「建议收藏」

    c语言pdb文件,VISUAL c+中的pdb文件及其作用「建议收藏」VISUALc+中的pdb文件及其作用程序数据库(PDB)文件保存着调试和项目状态信息,使用这些信息可以对程序的调试配置进行增量链接。当以/ZI或/Zi(用于C/C++)生成时,将创建一个PDB文件。在VisualC++中,/Fd选项用于命名由编译器创建的PDB文件。当使用向导在VisualStudio中创建项目时,/Fd选项被设置为创建一个名为projec…

    2022年6月2日
    32
  • 校园网网络规划与设计方案_计算机网络校园网设计总结

    校园网网络规划与设计方案_计算机网络校园网设计总结以前自己做的网络课程设计,用了思科软件,具体的文件包和word见另外的文章无锡科技职业学院校园网规划方案1需求分析1.1校园网总体概述无锡科技职业学院位于无锡市新吴区新锡路8号,其学习内部划分多个楼层。共有三个局域网站组成一个大型的校园网,分别为宿舍区域,教学区域,以及实训区域。每个部门又有众多人数,总体加起来也有500人。这三个区域又分别由三台路由器组合而成,形成了一个校园网站.1.2校园网络基本要求网络自身的需求受多方面因素影响:①网络的课伸缩性②现有网络所支持的业务③网络

    2022年10月5日
    3
  • 服务器防御DDoS的方法,一文解决DDoS攻击

    服务器防御DDoS的方法,一文解决DDoS攻击近来,DDoS攻击越来越严重,香奈儿韩国分公司在黑客入侵其数据库后发表了道歉声明,表示公司已封锁黑客攻击背后的IP地址,并聘请一家网络安全公司调查此事。广大的网站用户应该采取怎样的措施进行有效的防御呢

    2022年7月1日
    23
  • linux配置ntp时间同步客户端(小红帽系统怎么关闭程序)

    NTP网络时间服务器在LINUX系统设置方法(小红帽版)NTP网络时间服务器在LINUX系统设置方法(小红帽版)第一种方法:1.Linux系统使用命令行配置:在Linux上面执行ntpdate:ntpdate1Array2.168.0.1#1Array2.168.0.1是NTP服务器的IP2.使用hwclock命令,把时间写入bioshwclock-w如果想定时进行时间校准,可以使用crond服务来定时执行。编辑/etc/crontab文件加入下面一行:308**

    2022年4月10日
    76
  • JAVA(计算机编程语言)

    JAVA(计算机编程语言)走进JAVA//公共的类类名:要求与文件保持一致,每一个单词首字母大写publicclassHelloWorld{//类的开始 //公共的静态的没有返回值类型的主方法()->参数列表 publicstaticvoidmain(String[]args){//方法的开始 //系统输出打印()->内容””中的内容原封不动显示->字符串 System.out.println(“HelloWorld!!!”);//;结束语句

    2022年7月8日
    28

发表回复

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

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