我愿意搜索并突出显示包含给定字符串的节点。 sample
为此我正在调用 set_focus 方法
function set_focus(d)
{
text.style("opacity", function(o) {
return isConnected(d.id, o.id) ? 1 : null;
});
img.style("opacity", function(o) {
return isConnected(d.id, o.id) ? 1 : null;
});
link.style("opacity", function(o) {
return o.source.index == d.index || o.target.index == d.index ? 1 : null;
});
}
以上函数是有条件地设置元素的不透明度。我想设置相互连接的节点的不透明度。但我不想打扰那些未连接的节点的不透明度。
更多说明:
return isConnected(d.id, o.id) ? 1 : null;
如果 isConnected == false
,我不想返回不透明度
必需: 返回 isConnected(d.id, o.id) ? 1 : “这里返回当前的不透明度值”;
发生的情况: 返回 isConnected(d.id, o.id) ? 1:“返回零或空”;
最佳答案
您可以使用getter获取当前元素的不透明度值:
d3.select(this).style("opacity");
然后,您可以在三元运算符中使用它:
text.style("opacity", function(o) {
var current = d3.select(this).style("opacity");
return isConnected(d.id, o.id) ? 1 : current;
});
关于javascript - d3 js 突出显示包含给定字符串的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42363774/