JqueryUI Menu

jQuery UI Menu is a powerful component within the jQuery UI library that facilitates the creation of interactive and customizable menus in web applications. The Menu widget offers a versatile range of features and options, enabling developers to design menus that enhance navigation and user experience.

$( "#menu" ).menu();


To utilize the jQuery UI Menu, developers need to include the jQuery UI library along with the Menu module. They can then define an HTML structure for the menu using unordered lists <ul> and list items <li>, specifying nested submenus as needed. JavaScript code is used to initialize the Menu widget on the desired element, specifying various configuration options and event handlers.

jQuery UI Menu Example

<ul id = "menu" style="width:100px;"> <li><a href="#">Menu-1</a></li> <li><a href="#">Menu-2</a> <ul> <li><div>SubMenu-1</div></li> <li ><div>SubMenu-2</div></li> <li><div>SubMenu-3</div></li> </ul> </li> <li class="ui-state-disabled"><a href="#">Menu-3</a></li> <li><a href="#">Menu-4</a></li> </ul>
run this source code Browser View

Key Features

  1. Hierarchical Structure: jQuery UI Menu supports hierarchical menus with nested submenus, allowing developers to create multi-level menu systems.
  2. Customization Options: The Menu widget provides a variety of customization options, such as setting custom icons, styling menu items, and defining animations for opening and closing submenus.
  3. Event Handling: Developers can easily handle events associated with menu items, such as click, hover, and focus events, to trigger specific actions or behavior.
  4. Keyboard Navigation: The Menu widget supports keyboard navigation, making it accessible and user-friendly. Users can navigate through the menu items using arrow keys, enter key, or specific shortcut keys.
  5. Theming: jQuery UI Menu integrates seamlessly with the jQuery UI ThemeRoller, allowing developers to apply pre-defined themes or create custom themes to match the overall design of their application.
Full Source
<!doctype html> <html> <head> <title>jQuery UI menu example</title> <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <script> $(function() { $( "#menu" ).menu(); }); </script> </head> <body> <ul id = "menu" style="width:100px;"> <li><a href="#">Menu-1</a></li> <li><a href="#">Menu-2</a> <ul> <li><div>SubMenu-1</div></li> <li ><div>SubMenu-2</div></li> <li><div>SubMenu-3</div></li> </ul> </li> <li class="ui-state-disabled"><a href="#">Menu-3</a></li> <li><a href="#">Menu-4</a></li> </ul> </body> </html>


  1. Simplified Menu Creation: jQuery UI Menu abstracts the complexities of building interactive menus, providing a straightforward and efficient way to create professional-grade menus with minimal effort.
  2. Cross-Browser Compatibility: The Menu widget is designed to work consistently across different web browsers, ensuring a consistent user experience for all visitors.
  3. Extensibility: Developers can extend the functionality of the Menu widget by using the jQuery UI API, allowing for the creation of custom menu behaviors and features.


jQuery UI Menu empowers developers to craft intuitive and visually appealing menus that enhance website navigation and improve user interaction.