Javascript 可滚动div容器中的jsplump处理元素
我使用jsPlumb连接一组div(很像流程图)。所有div都包含在一个可滚动的父div中。有点像下面的代码,但是在container div中有更多的divJavascript 可滚动div容器中的jsplump处理元素,javascript,jsplumb,Javascript,Jsplumb,我使用jsPlumb连接一组div(很像流程图)。所有div都包含在一个可滚动的父div中。有点像下面的代码,但是在container div中有更多的div <div style="height:500px;width:500px;overflow:auto" id="container"> <div id="node1"></div> <div id="node2"></div> <div id="node3
<div style="height:500px;width:500px;overflow:auto" id="container">
<div id="node1"></div>
<div id="node2"></div>
<div id="node3"></div>
<div id="node4"></div>
<div id="node5"></div>
</div>
我的问题是,如果我滚动div,jsPlumb生成的连接线只会保持原位,而不会滚动它们应该连接到的div。我尝试过使用jsPlumb.repaint(),但仍然没有成功。jsPlumb似乎没有考虑到caontainer分区的滚动偏移。有什么方法可以解决这个问题吗?我真的不想将连接的div从容器div移到主体中,因为这将需要一些非常烦人的css/html重新编码。事实证明,只需使用jsPlumb.repaiverything();在正确的位置重新绘制线。repaint()似乎用于为特定元素重新绘制线条。例如,jsPlumb.repaint('div_id_goes_here') 你的问题/回答帮助了我。让我用我使用的代码来扩展它:
$('#container').scroll(
function(){
jsPlumb.repaintEverything();
}
)
这将导致在滚动容器时重新绘制连接。在IE上,它有一点延迟,这取决于场景(子节点移动,然后连接移动)。不幸的是,这种技术不适用于更新版本的jsPlumb。有人有工作吗?