Hierarchical, wrappable (when container width gets smaller than the menu length), mouse-hover and Tab-key driven menu bar. Originally created to represent a path to the selected item in a tree-view. A usage example:
<link href="jquery.path-menu.css" type="text/css" rel="stylesheet" /> <script type="text/javascript" src="jquery-1.2.6.js"></script> <script type="text/javascript" src="jquery.metadata.js"></script> <!-- OPTIONAL --> <script type="text/javascript" src="jquery.hoverIntent.js"></script> <!-- OPTIONAL --> <script type="text/javascript" src="jquery.path-menu.js"></script> <script type="text/javascript"> <!-- $(document).ready(function(){ // path-menu elements initialization after document's loaded $('#Menu1').path_menu({animation_speed:0}); }); //--> </script> . . . <div id='Menu1' class="{z_index:1500}"> <div><a title='Item 1' href='#'>Item 1</a></div> <div><a title='Item 2' href='#'>Item 2</a> <div class='{popup_max_height:50}' style="font-weight:bold"> <a title='Item 2.1' href='#'>Item 2.1</a> <a title='Item 2.2' href='#'>Item 2.2</a> <a title='Item 2.3' href='#'>Item 2.3</a> <a title='Item 2.4' href='#'>Item 2.4</a> <a title='Item 2.5' href='#'>Item 2.5</a> <a title='Item 2.6' href='#'>Item 2.6</a> <a title='Item 2.7' href='#'>Item 2.7</a> </div> </div> . . . <div><a title='Item 4' href='#'>Item 4</a> <div> <a title='Item 4.1' href='#'>Item 4.1</a> <a title='Item 4.2' href='#'>Item 4.2</a> <div><a title='Item 4.3' href='#'>Item 4.3</a> <div> <a title='Item 4.3.1' href='#'>Item 4.3.1</a> <a title='Item 4.3.2' href='#'>Item 4.3.2</a> . . . <a title='Item 4.3.5' href='#'>Item 4.3.5</a> <div><a title='Item 4.3.6' href='#'>Item 4.3.6</a> <div> <a title='Item 4.3.6.1' href='#'>Item 4.3.6.1</a> <a title='Item 4.3.6.2' href='#'>Item 4.3.6.2</a> . . . <a title='Item 4.3.6.16' href='#'>Item 4.3.6.16</a> </div> </div> <a title='Item 4.3.7' href='#'>Item 4.3.7</a> . . . <a title='Item 4.3.11' href='#'>Item 4.3.11</a> <a title='Item 4.3.12' href='#'>Item 4.3.12</a> </div> </div> <a title='Item 4.4' href='#'>Item 4.4</a> <a title='Item 4.5' href='#'>Item 4.5</a> </div> </div> </div> . . .
To make it look like a regular menu bar, the triangular images can be removed by removing the “background” CSS attribute from the “div.PathElementHover” and “div.PathElement” classes in the jquery.path-menu.css file. It can make use of the metadata (see the menu item 2 in the example) and hoverIntent plugins. The available options (can be changed directly, used as parameters (see the example) and as metadata for individual DIV elements) with their default values are as follows:
// // plugin defaults // $.fn.path_menu.defaults = { popup_max_height: 200, // popup maximum height in pixels shadow_offset_x: 3, // right shadow width in pixels (IE only) shadow_offset_y: 2, // bottom shadow height in pixels (IE only) animation_speed: "fast", // popup displaying/hiding speed z_index: 1000, // menu z-index (root div element only) hoverIntent: false // "true" requires the hoverIntent plugin (root div element only) };