YUI Library Home

Site Search (YDN & YUIBlog):

# YUI Library Examples: Menu Family: Website Left Nav Using Animation With Submenus Built From Markup

# Menu Family: Website Left Nav Using Animation With Submenus Built From Markup

This example demonstrates how to create a traditional, two-column page layout (using Grids) with a set of animated fly-out menu navigation in the left column.

View example in new window.

Begin by placing the markup for the two-column Grid on the page (this example uses the Grids Preset Template 1, 160px left). Next add the Menu markup to the left column of the grid.

Use the `onContentReady` method of the Event utility to instantiate the Menu as soon as its markup is available for scripting.

/* Initialize and render the Menu when its elements are ready to be scripted. */ YAHOO.util.Event.onContentReady("productsandservices", function () { /* Instantiate a Menu: The first argument passed to the constructor is the id of the element in the page representing the Menu; the second is an object literal of configuration properties. */ var oMenu = new YAHOO.widget.Menu( "productsandservices", { position: "static", hidedelay: 750, lazyload: true, effect: { effect: YAHOO.widget.ContainerEffect.FADE, duration: 0.25 } } ); /* Call the "render" method with no arguments since the markup for this Menu instance is already exists in the page. */ oMenu.render(); });

This Menu instance makes use of several configuration properties. Setting the "autosubmenudisplay" configuration property to "true" modifies its default behavior so that mousing over any item in the Menu automatically triggers the display of its submenu. The "hidedelay" configuration property is set to "750" so each submenu automatically hides 750ms after the user's mouse has left the menu. The "lazyload" property is set to "true" to help speed up the initial load time of the Menu instance by deferring the initialization and rendering of each submenu until just before it is initially made visible. Lastly, the effect configuration property is set to use the pre-canned FADE ContainerEffect instance bundled with the Container Core package to animate each submenu's opacity as it is shown and hidden.

Finally, it is necessary to set the "position" CSS property of the root Menu instance's element (`<div id="#productsandservices">`) to "static" to match that of the "position" configuration property.

#productsandservices { position: static; }

## Configuration for This Example

You can load the necessary JavaScript and CSS for this example from Yahoo's servers. Click here to load the YUI Dependency Configurator with all of this example's dependencies preconfigured.

### Menu Family Examples:

### More Menu Family Resources:

- User's Guide (external)
- API Documentation
- Cheat Sheet PDF (external)

Copyright © 2010 Yahoo! Inc. All rights reserved.

Privacy Policy - Terms of Service - Copyright Policy - Job Openings