2011-04-13 52 views
3

我正在構建一個主要涉及表和其他典型表單元素的業務應用程序。但是,由於我的應用程序的性質,我需要將這些元素的組合放在一個動態樹形結構中,該樹形結構將佔用所有可用的屏幕空間。如果房地產價格低,將會有某種形式的智能滾動,允許用戶專注於樹的某些區域。它可以被稱爲高級數據可視化Web表單。畫布矯枉過正的業務應用程序?

歷史上,我會通過簡單地使用div和javascript來實現這一點。然而,畫布元素似乎是構建我的結構更合乎邏輯的方式。然而,我發現的大多數畫布元素的用途都是針對圖形和動畫(主要是遊戲)。畫布矯枉過正?我會受益於使用它嗎?有替代品嗎?

enter image description here

+2

我認爲這取決於您的應用程序。由於瀏覽器經過優化以儘可能快地呈現DOM,所以DOM通常更快。由於瀏覽器的差異,DOM看起來比畫布圖像更真實。您也可以考慮非JavaScript用戶以及使用不支持畫布的瀏覽器的用戶。 – Eliasdx 2011-04-13 21:51:56

+0

沒有辦法,我完成了我想要的沒有JavaScript。用戶界面非常動態,回發不可接受。 – 2011-04-13 21:57:20

+0

你看過SVG/VML嗎? – robertc 2011-04-13 23:21:44

回答

1

是的,帆布是矯枉過正。這是一個繪圖板,並沒有太多。這當然不是我期望在其中創建用戶控件的東西。遊戲等更適合,因爲它們不是真正的標準用戶控件,並且不會被期望像這樣表現。

樹結構可以很容易地實現一系列嵌套的ul s。使用一些JavaScript來擴展通過添加和刪除類來摺疊它們。

Here是一個不錯的jQuery插件,供您使用或瞭解如何使用它。

編輯: 只是因爲繪圖的開銷,我會遠離畫布。如果你可以擴展一個標準的JavaScript樹視圖來添加更多的功能,這看起來像是我最好的選擇。在畫布上從頭開始創建控件是不小的功夫。

Edit2(發佈樣機): 這看起來像一個多部分形式給我,隱藏的表格/區域顯示爲合適。這太常見了,無需使用畫布創建。

+0

不,我的樹的「節點」比文本和圖像複雜得多。樹只是觀察它的一種方式。一個動態的網格佈局,其寬度和行數和列數都可以改變,也可以描述我正在構建的東西。 – 2011-04-13 21:56:14

+1

@Mr悲傷 - 可能需要模型或進一步的解釋來確定適用性。 – tgandrews 2011-04-13 21:59:57

+0

添加了樣機和細節。 – 2011-04-13 23:22:01

-1

畫布尚未完全支持所有瀏覽器。我建議使用Jquery或其他框架。

相關問題