我愿意搜索并突出显示包含给定字符串的节点。 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
必填: return isConnected(d.id, o.id) ? 1 : "here return the current opacity value";
发生: return isConnected(d.id, o.id) ? 1 : "returning zero or null";
答案 0 :(得分: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;
});