jquery - 寻找 JQuery 风格的 Web 控件来深入了解树形数据结构

标签 jquery user-interface

我正在寻找一种 JQuery 风格的 javascript/CSS 控件,它允许用户深入了解表达式的工作原理。

例如,假设我们有以下表达式:

  (2+3) × (4+5) + Max(22, 31, 16, 62, 40)

这将评估如下:

   (((2+3)×(4+5))+Max(22, 31, 16, 62, 40))  
 ⇒ ((5×9)+62)  
 ⇒ (45+62)  
 ⇒ 107

我想以这样的方式呈现这些中间步骤,以便用户可以深入特定的评估分支以发现产生特定值的输入。

我曾考虑过将表达式的工作操作为树结构,也许插入中间评估(在示例中以蓝色显示)。但是,我担心该软件的目标受众可能会觉得这有点令人生畏。

例如 Expression Tree

另一种更友好的表示方式可能是允许就地钻取,如此例所示:

表达式最初看起来像这样: Expression's initial state

用户单击“107”按钮,将控件更改为:

View after the '107' button has been pressed

用户单击“62”按钮,将控件更改为:

View after the '62' button has been pressed

在编写自己的控件之前,我认为可能有一个可用的现有控件可用于此目的。或者,我真的很感激任何以更直观的方式表示此数据的替代建议。

最佳答案

我找不到一个可以按照我上面描述的方式工作的控件,所以我创建了一个。 来源可在: http://github.com/Wheelies/expression-explorer

该控件使用用户可以导航的树形数据结构进行初始化。

表达式(((2+3)×(4+5))+Max(20+2, 31, 16, 62, 40))可以被解析成一棵树,它可以探讨如下:

107

用户单击[107]按钮,将控件更改为:

45+62

单击

[62]按钮,将控件更改为:

45 + Max(22, 31, 16, 62, 40)

用户现在点击[22]

45 + Max((20+2), 31, 16, 62, 40)

请注意,该控件不处理表达式解析。另外,我还没有将该控件实现为真正的 JQuery 插件

关于jquery - 寻找 JQuery 风格的 Web 控件来深入了解树形数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6280791/

相关文章:

django - 如何访问 jQuery.ajax() 在 Django View 中获取参数

javascript - jQuery 数据表处理 Null 子对象

javascript - 当用户使用 javascript 输入时如何显示弹出窗口?

Jquery UI 嵌套 Accordion ,内容位于顶级 Accordion 中

algorithm - 给定一个网格,分割为n block 不同形状和大小的算法

Java - SwingWorker - 我们可以从另一个 SwingWorker 而不是 EDT 调用一个 SwingWorker

javascript - div 中的可点击图像

javascript - .prevUntil 未按预期工作

Python + Glade + PyGObject。如何一次获取两个文本字段的值?

android - 利用 Android 4.4 KitKat 中的半透明状态栏