Javascript 检查坐标是否连接到起始坐标 我的代码的目标。 左键单击蓝色框,将激活它们 该框仅在连接到起点(红色框)时才能激活 右键单击激活的框将停用该框,以及通过它连接到起点的其他框 现状与问题

Javascript 检查坐标是否连接到起始坐标 我的代码的目标。 左键单击蓝色框,将激活它们 该框仅在连接到起点(红色框)时才能激活 右键单击激活的框将停用该框,以及通过它连接到起点的其他框 现状与问题,javascript,jquery,Javascript,Jquery,我已经写完激活盒子的代码了。现在我被停用部分卡住了。现在,右键单击只会停用目标框 我的目标是确保所有与*起点*失去连接的箱子(由于箱子停用)也将停用 摆弄与再现问题 在该小提琴中,激活所有“I”和“O”框 当我们停用“I”盒时,“O”盒将失去到起点的路线,它们也应停用 需要完成的部分: function deactivateBox(a, b) { var r, c; // Row, Column if (typeof a == "string") {

我已经写完激活盒子的代码了。现在我被停用部分卡住了。现在,右键单击只会停用目标框

我的目标是确保所有与*起点*失去连接的箱子(由于箱子停用)也将停用

摆弄与再现问题

  • 在该小提琴中,激活所有“I”和“O”框
  • 当我们停用“I”盒时,“O”盒将失去到起点的路线,它们也应停用
  • 需要完成的部分:

        function deactivateBox(a, b) {
        var r, c; // Row, Column
    
        if (typeof a == "string") {
            var coor = a.split(',');
            r = parseInt(coor[0]);
            c = parseInt(coor[1]);
        } else {
            r = parseInt(a);
            c = parseInt(b);
        }
        var cur = $('.talent-list a[data-col-coor="' + r + ',' + c + '"]');
    
        if (!cur.hasClass('active')) {
            console.log('Not yet actived.');
            return;
        } else {
            cur.removeClass('active');
            skill_point++;
    
            // Check and deactivate disconnected box.
            removeDisconnected(r, c);
    
            console.info('Deactivate : ', r, ',', c, skill_point, ' Talent Point left.')
        }
            }
    
        function removeDisconnected(r, c) {
        // Check and deactivate disconnected box.
        }
    

    谢谢

    我在别的地方找到了解决办法。对于那些感兴趣的人,这里是小提琴:


    现在你找到了有趣的部分,需要一些递归是的,我试着让它隐居。但是,当用户从起点创建新的备选路线时,使用旧路线的每个箱子仍处于停用状态。
        fiddle