Javascript 在D3可缩放冰柱布局中,如何在箭头单击的文件夹之间进行滚动式导航?

Javascript 在D3可缩放冰柱布局中,如何在箭头单击的文件夹之间进行滚动式导航?,javascript,d3.js,Javascript,D3.js,我正忙于定制D3中可缩放的冰柱布局,以可视化文件层次结构 我有一个过滤器,它利用这个问题的答案: 我有一个箭头,它被添加到每个包含隐藏信息的文件夹中(目前该箭头仅显示所有文件夹),因此如果用户单击该箭头,显示下一个隐藏的文件夹,并移动或隐藏当前文件夹,从而产生类似水平滚动的操作,在使用日历滚动月份时可以看到该操作 是否有人知道如何使用过滤器处理此问题,以及如何使用需要在箭头单击时显示的文件夹更新布局,然后如何隐藏当前显示的文件夹?它显然也会影响这些文件夹中的子文件夹 注意:我还需要显示子文件夹,

我正忙于定制D3中可缩放的冰柱布局,以可视化文件层次结构

我有一个过滤器,它利用这个问题的答案:

我有一个箭头,它被添加到每个包含隐藏信息的文件夹中(目前该箭头仅显示所有文件夹),因此如果用户单击该箭头,显示下一个隐藏的文件夹,并移动或隐藏当前文件夹,从而产生类似水平滚动的操作,在使用日历滚动月份时可以看到该操作

是否有人知道如何使用过滤器处理此问题,以及如何使用需要在箭头单击时显示的文件夹更新布局,然后如何隐藏当前显示的文件夹?它显然也会影响这些文件夹中的子文件夹

注意:我还需要显示子文件夹,即文件夹的子树

下面是fiddle中的示例代码:jsfiddle.net/Sim1/vByL6/1/


非常感谢

当我点击提琴上的方框或箭头时,当前没有发生任何事情。到目前为止,它应该在做什么?我只是点击了一下,看看它是否能工作…它目前什么都不做…我真的不知道该怎么做。我需要得到被点击箭头的项目,然后得到下一个兄弟并更新布局以显示该项目,并将点击的项目向左移动或隐藏。或者这就是我假设的过程……我能做些类似的事情吗?我也不确定这一点,因为过滤器-隐藏项不包括在用于显示布局的数据中…在单击功能中,您可以访问数据对象(单击功能的形式应为
函数(d,I)
),其中包括指向树中父数据对象的链接,您可以从中获取所有同级作为数组
d.parent.children
(或者可能
d.parent.\u children
,具体取决于您实现过滤器的方式…)。然后,您可以在该数组中找到
d
的索引,并从中查找下一个兄弟。你好,阿米莉亚。谢谢你的评论,这很有道理。因此,一旦我找到了需要显示的兄弟姐妹,我将如何显示它?在被过滤掉之后,我需要以某种方式重新添加它。我还需要隐藏被点击的矩形箭头。然后我可以使用你提到的另一个问题()的函数来更新布局吗?嗨@AmeliaBR,你是个明星!这正是发生的事情,我只是通过阅读你的评论才知道。我有兄弟姐妹,但没有孩子。它现在被加进去了…真是松了一口气!我仍然有相当多的功能添加到过滤器,以完成它现在这是工作-当它完成后,我会张贴一个链接到小提琴。非常感谢。我现在唯一担心的是,如果兄弟姐妹真的是一片没有孩子的叶子,那么它可能不会把它加进去……或者会吗?