The menu is divided into simple menu and cascading menu. The simple menu is suitable for mobile phones and tablets, and the cascading menu is suitable for desktop devices.
Add on the menu item disabled
Properties can disable a menu item.
Add to <li class="mdui-divider"></li>
Elements can add dividers.
<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>
in <ul class="mdui-menu">
Add a class to the element .mdui-menu-cascade
The menu can be changed into a cascading menu suitable for desktop devices.
Pass in <li class="mdui-menu-item"></li>
The way of adding menus in the element can realize the nesting of the menus, and theoretically, it can support unlimited nesting.
<span class="mdui-menu-item-helper"></span>
The element adds a short description to the menu item.
<span class="mdui-menu-item-more"></span>
The element adds a right-pointing arrow to the menu item, which is used on menu items with submenus.
<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>
There is no need to write JavaScript code to use this method. Just in a controlling element(For example: button)Add on mdui-menu="options"
Attributes. When calling through custom attributes, you need to add an additional target
The parameter is used to specify the controlled menu, and its value is the CSS selector of the controlled menu.
note:In order for the menu to be positioned correctly, the menu and the element that triggers the menu must be located at the same level under the same parent element.
<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>
Instantiate components:
// anchorSelector represents the CSS selector or DOM element of the element that triggered the menu
// menuSelector represents the CSS selector or DOM element of the menu
// options represents the configuration parameters of the component, see the parameter list below
var inst = new mdui.Menu(anchorSelector, menuSelector, options);
parameter name | Types of | Defaults | description |
---|---|---|---|
position |
string |
auto |
The position of the menu relative to the element that triggered it.
|
align |
string |
auto |
The way the menu aligns with the element that triggered it.
|
gutter |
int |
16 |
The minimum distance between the menu and the window border, the unit is px. |
fixed |
boolean |
false |
How to locate the menu
|
covered |
boolean |
auto |
Whether the menu is overlaid on the element that triggered it.
|
subMenuTrigger |
string |
hover |
The trigger mode of the submenu.
|
subMenuDelay |
int |
200 |
The trigger delay time of the submenu (unit: milliseconds). This parameter is valid only when subMenuTrigger: hover. |
Method name | description |
---|---|
open() |
Open the menu. |
close() |
Close the menu. |
toggle() |
Toggles the open state of the menu. |
event | description | the goal | event |
---|---|---|---|
open.mdui.menu |
The event will be triggered when the menu starts to open the animation. | <ul class="mdui-menu"></ul> |
event._detail.inst :实例 |
opened.mdui.menu |
The event will be triggered when the menu ends and the animation is opened. | ||
close.mdui.menu |
The event will be triggered when the menu starts to close the animation. | ||
closed.mdui.menu |
When the menu ends and closes the animation, the event will be triggered. |
Class name | effect |
---|---|
.mdui-menu |
Define a menu component. |
.mdui-menu-cascade |
Define the cascading menu. |
.mdui-menu-item |
Define menu items. |
.mdui-menu-item-icon |
Define the menu icon. |
.mdui-menu-item-helper |
Define the help text for the menu. |
.mdui-menu-item-more |
Right arrow for menu items with submenus. |
Theme color
Main color
Accent color