我正在构建一个主要涉及表格和其他典型表单元素的业务应用程序。然而,由于我的应用程序的性质,我需要将这些元素的组放在一个动态的树形结构中,这将占用所有可用的屏幕空间。如果房地产较低,将会有某种形式的智能滚动,允许用户将注意力集中在树的特定区域。它可以被称为高级数据可视化web表单。
从历史上看,我只需要使用div和javascript就可以做到这一点。然而,canvas元素似乎是构建我的结构的一种更符合逻辑的方法。然而,我能找到的画布元素的大多数用途都是面向图形和动画的(主要是游戏)。画布对此是不是有点过火了?我会从使用它中获益吗?还有别的选择吗?

发布于 2011-04-14 05:53:21
是的,画布是过度杀伤力。这在很大程度上是一个绘图板,仅此而已。这肯定不是我期望在其中创建用户控件的东西。游戏等更适合,因为它们不是真正的标准用户控件,也不会被期望这样的行为。
树形结构可以很容易地用一系列嵌套的ul实现。使用一些JavaScript来扩展,通过添加和删除类来折叠它们。
Here是一个很好的jQuery插件,你可以使用它,或者了解如何使用它。
编辑:我会远离画布,仅仅是因为画图的开销。如果你可以扩展一个标准的JavaScript树形视图来添加更多的功能,这似乎是我最好的选择。在画布中从头开始创建控件可不是一件小事。
Edit2 (后样机):对我来说,这看起来就像是一个多部分的表单,隐藏的表单/区域显示得恰到好处。这太常见了,不需要用canvas来创建它。
发布于 2011-04-14 05:53:37
并不是所有的浏览器都完全支持Canvas。我推荐使用Jquery或其他框架。
https://stackoverflow.com/questions/5656035
复制相似问题