2015年10月8日 星期四

dijit/MenuBar

dijit/MenuBar

簡介

在應用系統中,建立一組結構化的選單系統,讓使用者可以迅速找到所要使用的功能,似乎是一件無法避免的工作。dojo 針對這個需求,也提供了各式的選單元件來應付。dijit/menuBar 可以應付複雜但結構化的選項,一般被用來作為應用系統的主選單。

範例

範例是一個橫式結構化的主選單,選項不多,但足以展示一般主選單所需要的結構了。整個主選單共有三層,以宣告法的方式建立,比較容易看出主選單的結構。

CSS

<style>
html {
    width:100%;
    height:100%;
}
body {
    width:1000px;
    height:100%;
    margin: 0 auto;
    padding:20px;
}
</style>

範例中採用 claro 預設的樣式,所以沒有特別需要設定的樣式。

HTML

<body class="claro">
 
</body>

在 HTML 中,最需要注意的是各種不同 Menu 及 MenuItem 所在的位置;還有哪些地方要呼叫動作 (action) 函式以採取必要的動作。

首先要建立一個 dijit/MenuBar 做為容器以容納第一層的選項。如果沒有第二層選項的項目,需使用 dijit/MenuBarItem (第 27 行)。如果該項目有第二層的選項,則必須使用 dijit/PopupMenuBarItem 元件(第 4 行和第 14 行)。元件中再建立 dijit/DropDwonMenu 元件做為容器來容納第二層的項目。

第 10 行的 dijit/MenuSeparator 元件是選頁分隔線,用來在某一層選項中,做項目的分類。

在第二層的項目中,如果沒有第三層選項,需使用 dijit/MenuItem 元件,若有第三層選項,則需使用 dijit/PopupMenuItem 元件(第 17 行)。

第三層選項則使用 dijit/Menu 做為容器(第 19 行),內中包含 dijit/MenuItem 做為選擇項目。

Script


在範例中,所有的動作都用 alert() 函式來顯示哪一個選項被選擇了,所以只有呼叫 parser.parse() 這個剖析器函式外,也沒有其它的程式碼。在實際的應用系統中,則將 alert() 函式,置換成要呼叫的函式。

沒有留言:

張貼留言