mdui 中的導覽抽屜可以從頁面左側或右側滑出,一個頁面可以擁有多個導覽抽屜。
導覽抽屜在手機、平板、桌上型裝置上的表現有些不同,你可以透過改變瀏覽器寬度來觀察本頁面左側的導覽抽屜的變化:
.mdui-drawer-full-height 可以使導覽抽屜高度為 100%,這時導覽抽屜可能會覆蓋在應用程式列上方,可以在應用程式列上加入類別 .mdui-appbar-inset 使應用程式列不被導覽抽屜覆蓋。.mdui-color-[color] 可以設定導覽抽屜的背景顏色,並加入陰影。.mdui-drawer-open 可以使導覽抽屜在所有裝置上都預設顯示;加入類別 .mdui-drawer-close 可以使導覽抽屜在所有裝置上都預設隱藏。overlay 參數為 true,可以在開啟導覽抽屜時顯示遮罩層。如果設定為顯示遮罩層,那麼應該加入 .mdui-drawer-close 類別使導覽抽屜預設處於隱藏狀態。mdui.mutation() 進行初始化)<!-- mdui-drawer-body-left 類別為 body 加入 padding-left,只要左側有預設開啟的導覽抽屜,就要加入這個類別。 -->
<!-- mdui-drawer-body-right 類別為 body 加入 padding-right,只要右側有預設開啟的導覽抽屜,就要加入這個類別。 -->
<body class="mdui-drawer-body-left mdui-drawer-body-right">
<!-- 預設導覽抽屜在左側 -->
<div class="mdui-drawer">
... drawer content ...
</div>
<!-- 如果要使導覽抽屜在右側,需要加入類別 mdui-drawer-right -->
<div class="mdui-drawer mdui-drawer-right">
... drawer content ...
</div>
</body>使用該方式無需編寫 JavaScript 程式碼。只需在一個起控制作用的元素(例如:按鈕)上加入 mdui-drawer="options" 屬性即可。透過自訂屬性呼叫時,需要額外加入一個 target 參數,用於指定被控制的導覽抽屜,它的值為被控制的導覽抽屜的 CSS 選取器。
<body class="mdui-drawer-body-right">
<button class="mdui-btn" mdui-drawer="{target: '#left-drawer'}">open left drawer</button>
<div class="mdui-drawer" id="left-drawer">
... left drawer content ...
<button class="mdui-btn" mdui-drawer-close>close</button>
</div>
</body>在導覽抽屜內的元素上可以加入一些屬性來綁定事件,這些屬性在使用 JavaScript 呼叫方式時也可以使用。
| 屬性 | 說明 |
|---|---|
mdui-drawer-close | 點擊該元素會觸發 close.mdui.drawer 事件,並關閉導覽抽屜。 |
// selector 為導覽抽屜的 CSS 選取器或 DOM 元素
// options 為配置參數,見下面的參數清單
var inst = new mdui.Drawer(selector, options);| 參數名稱 | 類型 | 預設值 | 說明 |
|---|---|---|---|
overlay | boolean | false | 開啟導覽抽屜時是否顯示遮罩層。該參數只對中等螢幕及以上的裝置有效,在超小螢幕和小螢幕裝置上始終會顯示遮罩層。 |
swipe | boolean | false | 是否啟用滑動手勢。 |
| 方法名稱 | 說明 |
|---|---|
open | 顯示導覽抽屜。 |
close | 隱藏導覽抽屜。 |
toggle | 切換導覽抽屜的顯示狀態。 |
getState | 傳回目前導覽抽屜的狀態。共包含四種狀態(opening、opened、closing、closed)。 |