Menu Bar

Description

The Spry Menu Bar is a widget that creates a navigation menu using nested lists.

Required Files

SpryMenubar.js

SpryMenubarHorizontal.css

SpryMenuBarVertical.css

Reference File

SpryMenubar.html

Sample Files

Menubar Samples

 

Structure

The widget structure is as follows:

   <widget container UL>
      <li menu branch><a menu item>
      <li menu branch><a menu item>
<ul sub-branch> <li submenu branch><a menu item>
</widget container UL>

The Menu Bar can have any level of menus and sub menus.

The markup and the CSS looks for ULs and LIs specifically. The actual menu items are the <a> elements on the <li>s. Any content or styling should happen to or within the <a>.

Using the provided files, the default mark up is:

<ul id="MenuBar1" class="MenuBarHorizontal">
<li><a class="MenuBarItemSubmenu" href="#">Item 1</a>
<ul>
<li><a href="#">Item 1.1</a></li>
<li><a href="#">Item 1.2</a></li>
<li><a href="#">Item 1.3</a></li>
</ul>
</li>
<li><a href="#">Item 2</a></li>
<li><a class="MenuBarItemSubmenu" href="#">Item 3</a>
<ul>
<li><a class="MenuBarItemSubmenu" href="#">Item 3.1</a>
<ul>
<li><a href="#">Item 3.1.1</a></li>
<li><a href="#">Item 3.1.2</a></li>
</ul>
</li>
<li><a href="#">Item 3.2</a></li>
<li><a href="#">Item 3.3</a></li>
</ul>
</li>
<li><a href="#">Item 4</a></li>
</ul>

Constructor

Widget Constructors are small pieces of javascript that activate the markup into the working widget. These scripts must come AFTER the markup on the page, since the markup needs to exist before the constructor fires.

 <script type="text/javascript">    
var Menubar1 = new Spry.Widget.MenuBar("MenuBar1");   
</script>

Basic Constructor

A basic constructor specifies the name of the widget and identifies the ID of the main markup container. The name of the widget is used to identify the widget for functions and methods.

 <script type="text/javascript"> 
   var widgetname = new Spry.Widget.MenuBar("id of widget container");   
</script>

Constructor Options

Constructor options allow users to specify certain attributes of the widget.

Constructor options follow the ID parameter, wrapped in curly braces {}. Options are name:value pairs, separated by a colon (:).

 <script type="text/javascript"> 
   var widgetname = new Spry.Widget.MenuBar("id of widget container",{option1:value, option2:value, option3:"value"});   
 </script>
  
Option Values Default Description
imgDown path to image null Preloads an image used to denote a submenu, down arrrows for instance.
imgRight path to image   Preloads an image used to denote a vertical submenu, right arrrows for instance.
enableKeyboardNavigation true or false true By default, the arrow keys will allow you to navigate through the elements in the . Setting this option to false will disable that ability.
upKeyCode numeric - key code 38 (Up arrow) This option allows the user to assign a specific key to move the focus on the upper element then the current selected entry in the menu. Keyboard code numbers are described here. The value of the option is the keyboard code number.
downKeyCode numeric - key code 40 (Down Arrow) This option allows the user to assign a specific key to move the focus on the lower element then the current selected entry in the menu. Keyboard code numbers are described here. The value of the option is the keyboard code number.
leftKeyCode numeric - key code 37 (Left Arrow) This option allows the user to assign a specific key to move the focus on the left element then the current selected entry in the menu. Keyboard code numbers are described here. The value of the option is the keyboard code number.
rightKeyCode numeric - key code 39 (Right Arrow) This option allows the user to assign a specific key to move the focus on the right element then the current selected entry in the menu. Keyboard code numbers are described here. The value of the option is the keyboard code number.
 <script type="text/javascript"> 
   var ac1 = new Spry.Widget.Menubar("MenuBar1",{imgDown:"../downArrow.gif"});   
 </script>

Recall that javascript is case sensitive.

Menu Bar Methods

hideSubmenu

Hides the specified submenu..

Format

widgetName.hideSubmenu(submenu ID);

Example

<a href="#" onclick="menu1.hideSubmenu('sub1'); return false;">Hide Products</a>

showSubmenu

Shows a specified submenu, and all menus needed to get to it.

Format

widgetName.showSubmenu(submenu ID);

Example

 <a href="#" onclick="menu1.showSubmenu(); return false;">Show Products</a> 

Copyright © 2007. Adobe Systems Incorporated.
All rights reserved.