javascript - Cytoscape.js - 突出显示所选节点的所有路径

标签 javascript highlight cytoscape

这里我尝试突出显示来自所选节点的所有路径,但它不适用于 bfs 算法,我可以解决这个问题吗?

我想突出显示所选节点中的所有路径和节点。

enter image description here

        cy.on('click', 'node', function (event) {
        var target = event.target;
        var bfs = cy.elements().bfs(target, function(){}, true);
        var i = 0;
        var highlightNextEle = function(){
            if( i < bfs.path.length ){
                bfs.path[i].addClass('highlighted');

                console.log(bfs.path[i]);
                i++;
                setTimeout(highlightNextEle, 50);
            }
        };
        highlightNextEle();
        });

最佳答案

我找到了解决方案:没有任何算法

event.target.successors() - 这就是我所需要的

        cy.on('click', 'node', function (event) {
        var connectedEdges = event.target.successors()
        var i = 0;

        var highlightNextEle = function(){
            if( i < connectedEdges.length ){
                connectedEdges[i].addClass('highlighted');
                i++;
                highlightNextEle();
            }
        };
        highlightNextEle();
    });

enter image description here

关于javascript - Cytoscape.js - 突出显示所选节点的所有路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49410509/

相关文章:

javascript - 改变一个div的颜色

javascript - 淡入 onLoad 函数

javascript - 我可以从 Google Apps 脚本代码文件中的侧边栏获取当前的 HTML 吗?

php str_replace 是用什么字符串匹配算法写的?

R WGCNA Cytoscape 中心基因

javascript - 调用 addEventListener 或使用 onscroll 处理程序?

javascript - jQuery:突出显示 div 框 onload

javascript - 单击按钮更改所选文本的 html

javascript - Cytoscape.js 大数据性能 vs sigma.js

cytoscape.js - 在 cytoscape.js 中轻柔地替换所有元素并重绘图形