连线重绘时错位,通常都是父容器设置了relative定位,而且出现了scroll不可视区域,通过调试找到连线 jtk-connector 和连接点 jtk-endpoint,使用父容器的 scrollLeft 进行修正即可,以下是一段参考代码,用在画线结束后面
fix_jsPlumb_offset(left) {
var lines = document.getElementsByClassName("jtk-connector");
var dots = document.getElementsByClassName("jtk-endpoint");
this._fix_left(lines, left);
this._fix_left(dots, left);
},
_fix_left(arr, left) {
for (var i = 0; i < arr.length; i++) {
var obj = arr[i];
var origin_left = obj.style.left.replace(/px/, "");
obj.style.left = (parseInt(origin_left) + parseInt(left)) + ‘px‘;
}
}