I menu si dividono in menu semplici e menu a cascata. I menu semplici sono adatti per telefoni e tablet, mentre quelli a cascata sono più adatti ai dispositivi desktop.
Aggiungi l'attributo disabled a un elemento del menu per disabilitarlo.
Aggiungi l'elemento <li class="mdui-divider"></li> per aggiungere un divisore.
<ul class="mdui-menu">
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">Refresh</a>
</li>
<li class="mdui-menu-item" disabled>
<a href="javascript:;">Help & feedback</a>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">Settings</a>
</li>
<li class="mdui-divider"></li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">Sign out</a>
</li>
</ul><ul class="mdui-menu">
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon mdui-icon material-icons"
>remove_red_eye</i
>Preview
</a>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon mdui-icon material-icons"
>file_download</i
>Download
</a>
</li>
<li class="mdui-divider"></li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon mdui-icon material-icons">delete</i
>Remove
</a>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon"></i>Empty
</a>
</li>
</ul>All'elemento <ul class="mdui-menu"> aggiungi la classe .mdui-menu-cascade per trasformare il menu in un menu a cascata adatto ai dispositivi desktop.
È possibile ottenere l'annidamento dei menu aggiungendo altri menu all'interno dell'elemento <li class="mdui-menu-item"></li>; teoricamente, supporta l'annidamento illimitato.
L'elemento <span class="mdui-menu-item-helper"></span> aggiunge una breve descrizione all'elemento del menu.
L'elemento <span class="mdui-menu-item-more"></span> aggiunge una freccia rivolta a destra all'elemento del menu, usata per gli elementi che contengono sottomenu.
<ul class="mdui-menu mdui-menu-cascade">
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon mdui-icon material-icons"
>format_bold</i
>
Bold
<span class="mdui-menu-item-helper">Ctrl+B</span>
</a>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon mdui-icon material-icons"
>format_italic</i
>
Italic
</a>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon"></i>
Superscript
<span class="mdui-menu-item-helper">Ctrl+.</span>
</a>
</li>
<li class="mdui-divider"></li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
Paragraph style
<span class="mdui-menu-item-more"></span>
</a>
<ul class="mdui-menu mdui-menu-cascade">
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon"></i>Single
</a>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon mdui-icon material-icons"
>check</i
>1.15
</a>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon"></i>Double
</a>
</li>
</ul>
</li>
</ul>Usando questo metodo non è necessario scrivere codice JavaScript. Basta aggiungere l'attributo mdui-menu="options" a un elemento di controllo (ad esempio: un pulsante). Quando si chiama tramite attributi personalizzati, è necessario aggiungere un parametro aggiuntivo target per specificare il menu controllato; il valore è il selettore CSS del menu controllato.
Nota: affinché il menu sia posizionato correttamente, il menu e l'elemento che lo attiva devono trovarsi allo stesso livello sotto lo stesso elemento padre.
<button
class="mdui-btn mdui-color-theme-accent"
mdui-menu="{target: '#example-attr'}"
>
open
</button>
<ul class="mdui-menu" id="example-attr">
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">Refresh</a>
</li>
<li class="mdui-menu-item" disabled>
<a href="javascript:;">Help & feedback</a>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">Settings</a>
</li>
<li class="mdui-divider"></li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">Sign out</a>
</li>
</ul><button
class="mdui-btn mdui-color-theme-accent"
mdui-menu="{target: '#demo-attr-cascade'}"
>
cascade menu
</button>
<ul class="mdui-menu mdui-menu-cascade" id="demo-attr-cascade">
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon mdui-icon material-icons"
>format_bold</i
>
Bold
<span class="mdui-menu-item-helper">Ctrl+B</span>
</a>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon mdui-icon material-icons"
>format_italic</i
>
Italic
<span class="mdui-menu-item-helper">Ctrl+I</span>
</a>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon"></i>
Superscript
<span class="mdui-menu-item-helper">Ctrl+.</span>
</a>
</li>
<li class="mdui-divider"></li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
Paragraph style
<span class="mdui-menu-item-more"></span>
</a>
<ul class="mdui-menu mdui-menu-cascade">
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon"></i>Single
</a>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon"></i>1.15
</a>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon"></i>Double
</a>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon mdui-icon material-icons"
>check</i
>Custom: 1.2
</a>
</li>
<li class="mdui-divider"></li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple"
>Add space before paragraph</a
>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple"
>Add space after paragraph</a
>
</li>
<li class="mdui-divider"></li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">Custom spacing...</a>
</li>
</ul>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
Line spacing
<span class="mdui-menu-item-more"></span>
</a>
<ul class="mdui-menu mdui-menu-cascade">
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon"></i>
Single
</a>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon"></i>
1.15
</a>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon"></i>
Double
</a>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
<i class="mdui-menu-item-icon mdui-icon material-icons"
>check</i
>
Custom: 1.2
<span class="mdui-menu-item-more"></span>
</a>
<ul class="mdui-menu mdui-menu-cascade">
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
Line spacing
<span class="mdui-menu-item-helper">1.2</span>
</a>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
Paragraph spacing before
<span class="mdui-menu-item-helper">1.2</span>
</a>
</li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple">
Paragraph spacing after
<span class="mdui-menu-item-helper">1.5</span>
</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>Istanziazione del componente:
// anchorSelector indica il selettore CSS o l'elemento DOM dell'elemento che attiva il menu
// menuSelector indica il selettore CSS o l'elemento DOM del menu
// options indica i parametri di configurazione del componente, vedi l'elenco dei parametri qui sotto
var inst = new mdui.Menu(anchorSelector, menuSelector, options);| Nome | Tipo | Predefinito | Descrizione |
|---|---|---|---|
position | string | auto | La posizione del menu rispetto all'elemento che lo attiva.
|
align | string | auto | Allineamento del menu con l'elemento che lo attiva.
|
gutter | int | 16 | Distanza minima tra il menu e il bordo della finestra, in px. |
fixed | boolean | false | Metodo di posizionamento del menu
|
covered | boolean | auto | Se il menu copre l'elemento che lo attiva.
|
subMenuTrigger | string | hover | Metodo di attivazione del sottomenu.
|
subMenuDelay | int | 200 | Tempo di ritardo per l'attivazione del sottomenu (in millisecondi); questo parametro è valido solo quando subMenuTrigger è impostato su hover. |
| Nome metodo | Descrizione |
|---|---|
open() | Apri il menu. |
close() | Chiudi il menu. |
toggle() | Alterna lo stato di apertura del menu. |
| Nome evento | Descrizione | Target | Parametri |
|---|---|---|---|
open.mdui.menu | L'evento verrà attivato all'inizio dell'animazione di apertura del menu. | <ul class="mdui-menu"></ul> | event._detail.inst: istanza |
opened.mdui.menu | L'evento verrà attivato alla fine dell'animazione di apertura del menu. | ||
close.mdui.menu | L'evento verrà attivato all'inizio dell'animazione di chiusura del menu. | ||
closed.mdui.menu | L'evento verrà attivato alla fine dell'animazione di chiusura del menu. |
| Nome classe | Descrizione |
|---|---|
.mdui-menu | Definisci un componente menu. |
.mdui-menu-cascade | Definisci un menu a cascata. |
.mdui-menu-item | Definisci un elemento del menu. |
.mdui-menu-item-icon | Definisci un'icona del menu. |
.mdui-menu-item-helper | Definisci il testo di aiuto del menu. |
.mdui-menu-item-more | Freccia rivolta a destra per elementi del menu con sottomenu. |