使用JSPlumb仅分离父级中的最后一个子级

时间:2016-11-30 22:49:34

标签: javascript jquery jsplumb

我正在开发一个项目,我们在4-by-X网格中有对象。我们使用JS Plumb来连接这些对象,但我们注意到它将object 4连接到object 5时,该行会进行诊断并最终越过第一行。有没有办法我们可以将Draw();函数的范围仅限于前4个对象?这样,第5行仍然会掉线,但不会有对角连接器。

这是我的JS功能

在我的函数中,我在对象的父元素上使用了一个no-lines类来定义一个根本不会获得drawLines();函数的组。我相信因为我根据父函数绘制这些函数,所以我无法停止父母last-child的绘制事件。

$(document).ready(function(){

        var drawLines = function(){
            $('.training-directory-methodology-stage-classes').not('.no-lines').each(function(){

                var newplumb = jsPlumb.getInstance();

                $(this).find('.training-directory-methodology-stage-class').each(function(index, value){
                    current_class = $(this);

                    if(index>0) {
                        newplumb.connect({
                            source: previous_class,
                            target: current_class,
                            anchor: "Center",
                            connector: "Straight",
                            endpoint: "Blank",
                            paintStyle:{lineWidth:6, strokeStyle:'#4A5C68' }

                        });
                    };

                    previous_class = current_class;

                });
            });
        };

        jsPlumb.ready(function() {
            drawLines();
        });

        $(window).resize(function(){
            $('._jsPlumb_connector').remove();
            drawLines();
        });
});

以下是我尝试过的一些功能

$(document).ready(function(){
    jsPlumb.detachAllConnections('#jsPlumb_5_20');
    jsPlumb.removeAllEndpoints('#jsPlumb_5_20');
    jsPlumb.detach('#jsPlumb_5_20');
});

我也尝试根据我的父容器分离,但无济于事。

jsPlumb.detach('convert-container:last-child');

由于这些项目往往代码很重,我在这里创建了 JSFiddle ,你可以看到我到目前为止的内容!我很感激所有的帮助!谢谢!

0 个答案:

没有答案