Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击以缩放/平移并居中节点属性?_Javascript_Html_D3.js - Fatal编程技术网

Javascript 单击以缩放/平移并居中节点属性?

Javascript 单击以缩放/平移并居中节点属性?,javascript,html,d3.js,Javascript,Html,D3.js,我目前拥有以下代码: .on("click", function(d) { if(d.group == 2) { node.filter(function(d) { return d.group == 1; }).style("visibility", "visible") .on("click",function(d){ if(d.gro

我目前拥有以下代码:

.on("click", function(d) {
                if(d.group == 2) {

                  node.filter(function(d) { return d.group == 1; }).style("visibility", "visible")
                    .on("click",function(d){
                        if(d.group == 1){
                            node.filter(function(d) { return d.group == 4; }).style("visibility", "visible")
                                .on("click",function(d){
                                    if(d.group==4){
                                        node.filter(function(d) { return d.group == 3; }).style("visibility", "visible")
                                            .on("click",function(d){
                                                if(d.group==3){
                                                    node.filter(function(d){return d.group == 6;}).style("visibility","visible")
                                                    .on("click",function(d){
                                                        if(d.group==6){
                                                            node.filter(function(d){return d.group ==5;}).style("visibility","visible");
                                                            link.filter(function(d){return d.value ==6;}).style("visibility","visible");
                                                            texts.filter(function(d){return d.group ==5;}).style("visibility","visible");
                                                            }
                                                        });
                                                    link.filter(function(d) { return d.value == 5; }).style("visibility", "visible");
                                        texts.filter(function(d) { return d.group == 6; }).style("visibility", "visible");
                                                    }
                                                });
                                        link.filter(function(d) { return d.value == 4; }).style("visibility", "visible");
                                        texts.filter(function(d) { return d.group == 3; }).style("visibility", "visible");
                                        }
                                    });
                            link.filter(function(d) { return d.value == 3; }).style("visibility", "visible");
                            texts.filter(function(d) { return d.group == 4; }).style("visibility", "visible");
                            }
                        });
                  link.filter(function(d) { return d.value == 2; }).style("visibility", "visible");
                   texts.filter(function(d) { return d.group == 1; }).style("visibility", "visible");
                }

我正在尝试使用它,这样当您单击一个节点时,除了我已有的
。在(“单击”)
功能之外,我还希望缩放和居中,或者平移和居中,具体取决于节点。

听起来您需要缩放行为,但首先,我要简化您现有的代码。我不知道如何简化它。我认为Lars建议您编写一个自定义函数,通过单击调用它,例如.on(“单击”,someFunction),其中自定义函数包含上述信息。此外,您编写的代码似乎可以打开和关闭组的可视性,而不需要为每个组设置单独的函数。你可以编写一个函数,将组作为变量,进行切换。我仍然很困惑。有什么例子吗?