Javascript d3跃迁重叠导致异常行为

Javascript d3跃迁重叠导致异常行为,javascript,d3.js,filter,transition,Javascript,D3.js,Filter,Transition,将鼠标悬停在下列节点上会导致除连接到被悬停节点的链接外的所有其他节点和链接淡出 如果将鼠标缓慢地从一个节点移动到另一个节点,则此操作将正常工作。 但是,如果移动鼠标太快,则连接到当前节点的链接将保持褪色 为什么会这样?我的目的是让悬停的节点和连接的链接始终可见 .on("mouseover", function(d) { svg.selectAll(".node").filter(function(other) { return (other.name != d.na

将鼠标悬停在下列节点上会导致除连接到被悬停节点的链接外的所有其他节点和链接淡出

如果将鼠标缓慢地从一个节点移动到另一个节点,则此操作将正常工作。 但是,如果移动鼠标太快,则连接到当前节点的链接将保持褪色

为什么会这样?我的目的是让悬停的节点和连接的链接始终可见

.on("mouseover", function(d) { 
    svg.selectAll(".node").filter(function(other) { 
        return (other.name != d.name);
    }) 
    .transition()
    .duration(750)
    .style('opacity', 0.1);

    svg.selectAll(".link")
        .transition()
        .filter(function(other) {
            return (other.source.name != d.name) && (other.target.name != d.name);
        }) 
        .duration(750)
        .style('opacity', 0.1);
})

.on("mouseout", function(d){ 
    svg.selectAll(".node, .link")
        .transition()
        .duration(750)
        .style('opacity', 1.0);
});

罪犯正在调用
transition()
,然后调用
filter()
。如果您先过滤,然后触发转换,问题就消失了


早期的转换被后期的转换所取代。但在Chrome中,这不会导致问题——在某个时候,会显示正确的节点。你用的是什么浏览器?你确定吗?我用的是Chrome,链接永远不会完全不透明。是的,对我来说效果很好。这也解决了我的问题。谢谢你弄明白了。