介绍

使用svg完成画图,四个概念:

anchor: endpoint在的位置,可通过name访问

endpoint:connection的一端节点,通过addPoint makeSource, connect创建,

connector:连接线

overlay:connector的装饰组件,如labelarrow

一个connection由一个connector,两个endpoint,0或者多个overlay构成,每个endpoint有一个关联的anchor.

anchor有四种类型:

static:固定不可移动的点

dynamic:从一组staticanchor中,每次动态选取一个合适的

perimeter:沿着特定图形的边

continous:没有固定的位置,根据线另一端点的朝向决定

connectors四种类型

Bezier(default):弯曲的贝塞尔曲线,参数是curviness用来定义控制点,默认150

Straight:stub和gap(线和endpoint的间隔)

flowchart: 折线,有stubalwaysRespectStubs gap midpoint(转折点)和cornerRadius

statemachine:轻微弯曲的线,quadraticBezier(二次贝塞尔曲线),有margin,curviness, proximityLimit(连接到自己时最小距离)

endpoint有四种类型

dot:radius cssClass  hoverClass

rectangle:width height cssClas hoverClass

blank:不可见,对于可拖拽链接的,使用dot和rectangle参数,并在css中设为透明。

image:从url得到image,src cssClass hoverClass

overlay有五种类型

arrow:控制长宽等

label:

plainArrow:三角形箭头

diamond:菱形

custom:任意的dom元素,需要实现create方法

location:

[0..1]代表connector上的比例

大于1或小于0代表绝对值的pixel

connections:

adding:在connectmakeSource  addEndpoint中

show和hideoverlay:connection.hideOverlay,connection.showOverlay  ,endPoint有同样的方法

removeoverlay:connection.removeOverlay()

重用commonsetting

var common = {
anchors:[ "BottomCenter", "TopCenter" ],
endpoints:["Dot", "Blank" ]
}; jsPlumb.connect({ source:"someElement", target:"someOtherElement" }, common); jsPlumb.connect({ source:"aThirdElement", target:"yetAnotherElement" }, common);

画连线

设置endPoint为 source
var exampleGreyEndpointOptions = {
endpoint:"Rectangle",
paintStyle:{ width:25, height:21, fillStyle:'#666' },
isSource:true,
connectorStyle : { strokeStyle:"#666" },
isTarget:true
};
var endpoint = jsPlumb.addEndpoint('elementId', exampleGreyEndpointOptions
);

makeTarget和makeSource

将整个element变成target或source

jsPlumb.makeSource("el1", {
anchor:"Continuous",
endpoint:["Rectangle", { width:40, height:20 }],
maxConnections:3
});

uniqueEndpoint:

设置只有一个 endPoint

移除connections和endpoint

jsPlumb.detach(conn);
删除el上所有链接:jsPlumb.detachAllConnections(el, [params])
所有链接:jsPlumb.detachEveryConnection();

通过connect中的parameters参数向jsPlumb中传入参数。

动画:

jsPlumb.animate : function(el, properties, options) 调用方式类似于 jQuery

查询jsPlumb

可以用来查找connection或者endpoint等

css样式

overlays: cssClass

paintStyle可设置:fillStyle strokeStyle  lineWidth outlineWidth  outlineColordashStyle

hoverpaint style

hoverPaintStyle endpointHoverStyles

[转]http://blog.csdn.net/dananhai381/article/details/38870615

jsPlumb 学习笔记的更多相关文章

  1. jsPlumb学习笔记

    这就是一个给元素画连接线的工具. <!DOCTYPE html> <html> <head> <title>jsPlumb</title> ...

  2. 前端流程图jsplumb学习笔记

    1.这篇博客很好,另外两个是官网文档 http://www.cnblogs.com/leomYili/p/6346526.html https://jsplumbtoolkit.com/communi ...

  3. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  4. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  5. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  6. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  7. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  8. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  9. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

随机推荐

  1. cmake在实际复杂项目中的使用

    在实际复杂的项目之中,会有很多的源文件,以及对于库的依赖,如果直接使用makefile会比较的繁琐,而且makefile的推导规则也非常多,对多目录的支持也比较复杂. 最近看了一下cmake,发现配置 ...

  2. js校验表单后提交表单的三种方法总结(转)

    第一种: 代码如下: <script type="text/javascript"> function check(form) { if(form.userId.val ...

  3. apache配置文件 httpd-vhosts.conf 和 htaccess

    1.apache多站点配置中ServerAlias什么意思? -:就是给ServerName起别名,通过Alias中的域名也可以访问这个虚拟主机. eg: <VirtualHost www.be ...

  4. Linux下使用fdisk发现磁盘空间和使用mount挂载文件系统

    若在安装Linux系统时没有想好怎么使用服务器,开始时只分了一部分给根目录.后面需要再使用时,可以通过几下一步进行分区和挂载文件系统. 看磁柱数使用情况 fdisk -l Disk /dev/sda: ...

  5. ANTLR3完全参考指南读书笔记[04]

    前言 学习框架或第三方库的方法是什么 (1)少量的浏览manual或tutoral,只关注程序所需的特征,再完善其详细内容和特征的认识? (2)花大量的时间研究详细内容,再考虑程序实现? 这是个先有鸡 ...

  6. linux文件系统---10

    进入 Linux 根目录(即“/”, Linux 文件系统的入口, 也是处于最高一级的目录),运行“ls –l”命令,可以看到 Linux 系统包含以下目录. 1./bin 包含基本命令,如 ls.c ...

  7. AttributeError: 'NoneType' object has no attribute 'bytes' python3.4 win64

    解决方法: easy_install -U pip 详见: https://github.com/pypa/pip/issues/2669

  8. LB负载均衡集群及NAT模式配置

    一.LB(load balance)负载均衡集群 负载均衡集群常用的有: 1.软件实现的 nginx(工作在OSI第七层应用层) lvs+keepalived(工作在OSI第四层传输层) 2.硬件实现 ...

  9. 1-4-1 Windows应用程序组成及编程步骤

    主要内容:介绍Windows应用程序的组成以及编程步骤 1.应用程序的组成 <1>一个完整的应用程序通常由五种类型的文件组成 1.源程序文件 2.头文件 3.模块定义文件 4.资源描述文件 ...

  10. 编写linux驱动所用到的头文件(转)

    转自:http://blog.csdn.net/lufeiop02/article/details/6448497 关于linux驱动(应用)程序头文件使用 收藏 驱动程序: #include < ...