Example 12: Setting Configuration Properties At Runtime : Menu 2 « GUI Components « JavaScript DHTML






Example 12: Setting Configuration Properties At Runtime

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>Example 12: Setting Configuration Properties At Runtime</title> <!-- Standard reset and fonts --> <link rel="stylesheet" type="text/css" href="./build/reset/reset.css"> <link rel="stylesheet" type="text/css" href="./build/fonts/fonts.css"> <!-- Logger CSS --> <link rel="stylesheet" type="text/css" href="./build/logger/assets/logger.css"> <!-- CSS for Menu --> <link rel="stylesheet" type="text/css" href="./build/menu/assets/menu.css"> <!-- Page-specific styles --> <style type="text/css"> body { margin:.5em; } li.yuimenuitem a em { font-style:italic; } li.yuimenuitem strong { font-weight:bold; } p em { text-decoration:underline; } #logs { position:absolute; bottom:0; right:0; } .example12 { background-color:#9c9; } </style> <!-- Namespace source file --> <script type="text/javascript" src="./build/yahoo/yahoo.js"></script> <!-- Dependency source files --> <script type="text/javascript" src="./build/event/event.js"></script> <script type="text/javascript" src="./build/dom/dom.js"></script> <!-- Logger source file --> <script type="text/javascript" src="./build/logger/logger.js"></script> <!-- Container source file --> <script type="text/javascript" src="./build/container/container_core.js"></script> <!-- Menu source file --> <script type="text/javascript" src="./build/menu/menu.js"></script> <!-- Page-specific script --> <script type="text/javascript"> // "load" event handler for the window  YAHOO.example.onWindowLoad = function(p_oEvent) { // "config change" event handler for each MenuItem instance  function onMenuItemConfigChange(p_sType, p_aArguments, p_oMenuItem) { var sPropertyName = p_aArguments[0][0], sPropertyValue = p_aArguments[0][1]; YAHOO.log( ( "Index: " + this.index + ", " + "Group Index: " + this.groupIndex + ", " + "Custom Event Type: " + p_sType + ", " + "\"" + sPropertyName + "\" Property Set To: \"" + sPropertyValue + "\"" ), "info", "example12" ); } // Create a menu  var oMenu = new YAHOO.widget.Menu("basicmenu"), // Add the MenuItem instance to the menu  aMenuItemData = [ "MenuItem 0", "MenuItem 1", "MenuItem 2", "MenuItem 3", "MenuItem 4", "MenuItem 5" ], nMenuItems = aMenuItemData.length, oMenuItem; for(var i=0; i<nMenuItems; i++) { oMenuItem = oMenu.addItem(aMenuItemData[i]); oMenuItem.cfg.configChangedEvent.subscribe(onMenuItemConfigChange, oMenuItem, true); } oMenu.render(document.body); oMenu.show(); // Set the MenuItem configuration properties  oMenu.getItem(0).cfg.setProperty("selected", true); oMenu.getItem(1).cfg.setProperty("disabled", true); oMenu.getItem(2).cfg.setProperty("helptext", "Help Me!"); oMenu.getItem(3).cfg.setProperty("emphasis", true); oMenu.getItem(4).cfg.setProperty("strongemphasis", true); oMenu.getItem(5).cfg.setProperty("checked", true); var oLogs = document.createElement("div"); oLogs.id = "logs"; document.body.appendChild(oLogs); var oLogReader = new YAHOO.widget.LogReader("logs"); } YAHOO.util.Event.addListener(window, "load", YAHOO.example.onWindowLoad); </script> </head> <body> <h1>Example 12: Setting Configuration Properties At Runtime</h1> <p>This example demonstrates how to set MenuItem configuration properties at runtime and listen for the changes through the "configChangedEvent."</p> </body> </html> 








yui.zip( 3,714 k)

Related examples in the same category

1.Popup Menu
2.AtJsMenu Demo
3.Example 1: Basic Menu From Existing Markup
4.Example 2: Basic Menu From Pure JavaScript
5.Example 3: Grouped MenuItem Instances From Existing Markup
6.Example 4: Grouped MenuItem Instances Using Pure JavaScript
7.Example 5: Grouped MenuItem Instances With Titles From Existing Markup
8.Example 6: Grouped MenuItem Instances With Titles Using Pure JavaScript
9.Example 7: Multi-tiered Menu From Existing Markup
10.Example 8: Multi-tiered Menu From Pure JavaScript
11.Example 9: Handling Click Events
12.Example 10: Listening For DOM-Related Events
13.Example 11: MenuItem Configuration Properties
14.Example 13: Multi-tiered Menu with Progressive Rendering of Submenus
15.Website Left Nav Example (with submenus built from JavaScript) 1
16.Website Left Nav Example (with submenus built from markup) 2
17.OS-Style Programs Menu Example
18.Website Top Nav (with submenus built from JavaScript) 3
19.Website Top Nav (with submenus built from markup) 4
20.Drop down menu and sub menu
21.Vertical menu and image menu
22.Emulate XP start menu
23.xmenu-xlayer-3
24.tree-menu
25.menu for applications
close