Jsplumb改变静态锚的位置

时间:2014-03-24 15:06:50

标签: static anchor endpoint jsplumb

我想要完成的是我可以旋转jsplumb连接。您可以使用setAnchor重新定义一个Anchor,但我无法让它工作。我在网上找到了这个并且它有效,但它不是我想要的。

jsPlumb.selectEndpoints("myclickedelement").setAnchor([ "Continuous", { faces: ["Top", "Bottom", "Left", "Right"] }])

我在对象的顶部和底部有一个端点,当我旋转它时,我希望它们在左边和右边,而不删除现有的连接。

          jsPlumb.addEndpoint($(this).parent("div").attr('id'),     { anchor:[0.5, 0, 0, -1] },
{ isSource:true,
 isTarget:true,
 paintStyle:{ lineWidth:1, strokeStyle:'#ff8700' },
 connector: 'Flowchart',
 hoverPaintStyle:{ strokeStyle:"#ff8700", lineWidth:4},
  })  
jsPlumb.addEndpoint($(this).parent("div").attr('id'),   { anchor:[0.5, 1, 0, 1] },
{ isSource:true,
 isTarget:true,
 paintStyle:{ lineWidth:1, strokeStyle:'#ff8700' },
 connector: 'Flowchart',
 hoverPaintStyle:{ strokeStyle:"#ff8700", lineWidth:4},
  })

这是我用锚点

创建对象的方法

1 个答案:

答案 0 :(得分:0)

我找到了解决方案

endpoints = jsPlumb.selectEndpoints($(this).attr('id').elementId);
anchorarray = [[0.5,0,0,-1],[1,0.5,1,0],[0.5,1,0,1],[0,0.5,-1,0]];

endpoints.each(function(ep){
    if (top == 0 && ep.id.contains(clickeditem)) {
            ep.setAnchor(anchorarray[0]);
            top = 1;

        } else if (ep.id.contains(clickeditem)) {
            ep.setAnchor(anchorarray[2]);
        }
});