我最近开始使用jsPlumb为客户端创建UI,但是遇到了两个似乎无法解决的问题。
jsFiddle在这里:http : //jsfiddle.net/ugxopksz/
首先是在调整窗口大小时不会重绘端点和连接。正在进行的站点中具有一些响应式设计。我尝试做整个
$(window).resize(function(){
jsPlumb.repaintEverything();
});
但这并没有废话。我没有从中得到任何错误,但是它什么也没有做。
我的第二个问题是我无法找到为一个连接指定多个源。就像是:
instance.connect({
source:"oneT",
target:"center",
anchor:[[1, 0.5, 0, 0, 0, 80], [0, 0.5, 0, 0, 7, -40]]
});
除非我可以声明一些数组并创建一个循环,该循环将为数组中的每个元素制作该代码块。我要寻找的原因是此UI是从数据库中提取并创建每个外部元素,因为它们可以更改,所以我希望它能够处理数据库更改,而不必手动添加新元素。
任何帮助将不胜感激。
对于第一个问题:
使用列表元素(li标记)对于连接不是优选的。相反,您可以使用div元素进行尝试。由于li标签的位置不正确,因此调整窗口大小也无法重新绘制。从Doc可以明显看出,具有绝对位置的元素在所有条件下都将表现正常。
看一下该FIDDLE,用于连接DIV元素以及调整窗口大小时的重画选项。
第二个问题:
目前,jsPlumb不支持源参数的多个ID,因此除了将它们循环到数组中之外,您别无选择:
var trg = 'center';
var src = ['oneT','twoT','threeT'];
for(var i=0;i<src.length;i++)
{
jsPlumb.connect({
source: src[i],
target: trg,
connector: [ "Flowchart", {cornerRadius:1} ],
paintStyle:{ lineWidth:5, strokeStyle:'#3E2522' },
anchors: [[1.02, 0.5, 0, 1],
[-0.02, 0.5, 0, 0]],
endpointStyle: { radius:0.5 }
})
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句