我的场景是这样的:我有一个带有选项的选择框和一个可爱的 D3 力布局可视化。
我想使用这些选项来淡入/淡出我的可视化的某些部分。我在这种特殊情况下使用 jQuery,例如:
$("select.filter.tag").change(function() {
var cls = "."+$(this).val();
if(cls != "."){
d3.selectAll(".node:not("+cls+"), .link:not("+cls+")").transition()
.duration(500)
.style("opacity", 0);
d3.selectAll(".node"+cls+", .link"+cls).transition()
.duration(500)
.style("opacity", 1);
}
else{
d3.selectAll(".node, .link").transition()
.duration(500)
.style("opacity", 1)
}
});
但是,这不会淡入/淡出我的可视化的任何部分。某些部分会在一瞬间消失(这是在最新版本的 Firefox 中,代码实际上适用于 Chrome 和 Safari)
预览:https ://dl.dropbox.com/u/41566165/question/index.html
有没有人可以帮忙?