src/cm/media/js/lib/yui/yui_3.10.3/docs/node-menunav/index.html
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 525 89ef5ed3c48b
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
<!DOCTYPE html>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
<html lang="en">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
<head>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
    <meta charset="utf-8">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
    <title>MenuNav Node Plugin</title>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic,700italic">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
    <link rel="stylesheet" href="../../build/cssgrids/cssgrids-min.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
    <link rel="stylesheet" href="../assets/css/main.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
    <link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
    <link rel="shortcut icon" type="image/png" href="../assets/favicon.png">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
    <script src="../../build/yui/yui-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
</head>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
<body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
<!--
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
<a href="https://github.com/yui/yui3"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub"></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
-->
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
<div id="doc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
    <div id="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
        <h1><img src="http://yuilibrary.com/img/yui-logo.png"></h1>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
        <a href="#toc" class="jump">Jump to Table of Contents</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
            <h1>MenuNav Node Plugin</h1>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
    <div class="yui3-g">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
        <div class="yui3-u-3-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
            <div id="main">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
                <div class="content"><div class="intro">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
    <p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
        The MenuNav Node Plugin makes it easy to transform existing list-based
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
        markup into traditional, drop down navigational menus that are both
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
        accessible and easy to customize, and only require a small set of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
        dependencies.  The MenuNav Node Plugin features:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
    </p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
    <dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
        <dt>Progressive Enhancement</dt>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
        <dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
            The MenuNav Node Plugin is designed to support
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
            <a href="http://en.wikipedia.org/wiki/Progressive_enhancement">Progressive Enhancement</a>,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
            making it easy to transform simple, semantic markup into dynamic
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
            drop-down menus with just a few lines of JavaScript.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
        </dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
        <dt>Small footprint</dt>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
        <dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
            The MenuNav Node Plugin has a small footprint of ~5 KB (GZIP'd) and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
            requires a minimal set of dependencies.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
        </dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
        <dt>Accessibility &#38; Usability Minded</dt>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
        <dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
            The MenuNav Node Plugin was built with both accessibility and usability
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
            in mind.  The MenuNav Node Plugin implements established mouse and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
            keyboard interaction patterns to deliver a user experience that is both
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
            familiar and easy to use.  To that foundation the MenuNav Node plugin
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
            adds support for screen readers through the use of the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
            <a href="http://www.w3.org/TR/wai-aria/">WAI-ARIA Roles and States</a>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
        </dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
        <dt>Easy to style and configure</dt>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
        <dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
            The MenuNav Node Plugin is easy to configure.  The visual presentation
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
            of menus is controlled completely via CSS.  A handful of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
            straightforward <a href="#configuration-attributes">configuration attributes</a> can be used to make
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
            common modifications to a menu's behavior.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
        </dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
        <dt><code>&lt;iframe&gt;</code> Shim for IE 6</dt>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
        <dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
            No menuing system would be complete without an
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
            <code>&lt;iframe&gt;</code> to prevent <code>&lt;select&gt;</code> elements from poking through menus
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
            in IE 6.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
        </dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
    </dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
<div class="notice">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
    <p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
        <strong>NOTICE</strong>: This component is <strong>deprecated</strong>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
        as of YUI 3.9.0 and will be removed in future versions.  
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
    </p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
    <p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
        If you require functionality similar to the one provided by this module, consider taking a look at the various modules in the <a href="http://yuilibrary.com/gallery/">YUI Gallery</a>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
    </p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
<h2 id="getting-started">Getting Started</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
To include the source files for MenuNav Node Plugin and its dependencies, first load
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
the YUI seed file if you haven't already loaded it.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
<pre class="code prettyprint">&lt;script src=&quot;http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.10.3&#x2F;build&#x2F;yui&#x2F;yui-min.js&quot;&gt;&lt;&#x2F;script&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
Next, create a new YUI instance for your application and populate it with the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
modules you need by specifying them as arguments to the <code>YUI().use()</code> method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
YUI will automatically load any dependencies required by the modules you
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
specify.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
<pre class="code prettyprint">&lt;script&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
&#x2F;&#x2F; Create a new YUI instance and populate it with the required modules.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
YUI().use(&#x27;node-menunav&#x27;, function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
    &#x2F;&#x2F; MenuNav Node Plugin is available and ready for use. Add implementation
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
    &#x2F;&#x2F; code here.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
&lt;&#x2F;script&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
For more information on creating YUI instances and on the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
<a href="http://yuilibrary.com/yui/docs/api/classes/YUI.html#method_use"><code>use()</code> method</a>, see the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
documentation for the <a href="../yui/index.html">YUI Global Object</a>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
<strong>Note:</strong> be sure to add the <code>yui3-skin-sam</code> classname to the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
page's <code>&lt;body&gt;</code> element or to a parent element of the widget in order to apply
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
the default CSS skin. See <a href="http://yuilibrary.com/yui/docs/tutorials/skins/">Understanding Skinning</a>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
<pre class="code prettyprint">&lt;body class=&quot;yui3-skin-sam&quot;&gt; &lt;!-- You need this skin class --&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
<h3 id="setup">Basic Setup</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
To create a menu using the MenuNav Node Plugin, start by including the required markup.  The markup
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
for menus created using the MenuNav Node Plugin follows the same <a href="../widget/index.html#markup">pattern established for Widgets</a>,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
with each menu's content box containing one or more <code>&lt;ul&gt;</code> elements:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
<h4 id="menu-markup-example">Menu Markup Example</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
<pre class="code prettyprint">&lt;div id=&quot;menu-1&quot; class=&quot;yui3-menu&quot;&gt;&lt;!-- Bounding box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
    &lt;div class=&quot;yui3-menu-content&quot;&gt;&lt;!-- Content box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
        &lt;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
            &lt;!-- Menu items --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
        &lt;&#x2F;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
    &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
&lt;&#x2F;div&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
Menu items also follow the Widget markup pattern, with the root node defined using an
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
<code>&lt;li&gt;</code> element:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
<h4 id="menuitem-markup-example">MenuItem Markup Example</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
<pre class="code prettyprint">&lt;li class=&quot;yui3-menuitem&quot;&gt;&lt;!-- Bounding box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
    &lt;a class=&quot;yui3-menuitem-content&quot; href=&quot;http:&#x2F;&#x2F;www.yahoo.com&quot;&gt;&lt;!-- Content box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
    Yahoo!
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
    &lt;&#x2F;a&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
&lt;&#x2F;li&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
Submenus are defined by wrapping the the menu markup in an <code>&#60;li&#62;</code> element.  Each
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
submenu must have have a label.  The label should preceed the menu markup, and the label's
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
<code>href</code> attribute should be set to the point to the id of its corresponding submenu.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
<h4 id="submenu-markup-example">Submenu Markup Example</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
<pre class="code prettyprint">&lt;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
    &lt;a class=&quot;yui3-menu-label&quot; href=&quot;#submenu-1&quot;&gt;Submenu Label&lt;&#x2F;a&gt;&lt;!-- Menu label --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
    &lt;div id=&quot;submenu-1&quot; class=&quot;yui3-menu&quot;&gt;&lt;!-- Bounding box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
        &lt;div class=&quot;yui3-menu-content&quot;&gt;&lt;!-- Content box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
            &lt;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
                &lt;!-- Menu items --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
            &lt;&#x2F;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
        &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
    &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
&lt;&#x2F;li&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
Following the patterns illustrated above, the markup for a menu created using the MenuNav Node
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
Plugin comes together as follows:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
<pre class="code prettyprint">&lt;div id=&quot;menu-1&quot; class=&quot;yui3-menu&quot;&gt;&lt;!-- Root menu bounding box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
    &lt;div class=&quot;yui3-menu-content&quot;&gt;&lt;!-- Root menu content box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
        &lt;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
            &lt;li class=&quot;yui3-menuitem&quot;&gt;&lt;!-- Menuitem bounding box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
                &lt;a class=&quot;yui3-menuitem-content&quot; href=&quot;http:&#x2F;&#x2F;www.yahoo.com&quot;&gt;&lt;!-- Menuitem content box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
                Yahoo!
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
                &lt;&#x2F;a&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
            &lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
            &lt;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
                &lt;a class=&quot;yui3-menu-label&quot; href=&quot;#pim&quot;&gt;PIM&lt;&#x2F;a&gt;&lt;!-- Submenu label --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
                &lt;div id=&quot;pim&quot; class=&quot;yui3-menu&quot;&gt;&lt;!-- Submenu bounding box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
                    &lt;div class=&quot;yui3-menu-content&quot;&gt;&lt;!-- Submenu content box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
                        &lt;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
                            &lt;li class=&quot;yui3-menuitem&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
                                &lt;a class=&quot;yui3-menuitem-content&quot; href=&quot;http:&#x2F;&#x2F;mail.yahoo.com&quot;&gt;Yahoo! Mail&lt;&#x2F;a&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
                            &lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
                            &lt;li class=&quot;yui3-menuitem&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
                                &lt;a class=&quot;yui3-menuitem-content&quot; href=&quot;http:&#x2F;&#x2F;addressbook.yahoo.com&quot;&gt;Yahoo! Address Book&lt;&#x2F;a&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
                            &lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
                            &lt;li class=&quot;yui3-menuitem&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
                                &lt;a class=&quot;yui3-menuitem-content&quot; href=&quot;http:&#x2F;&#x2F;calendar.yahoo.com&quot;&gt;Yahoo! Calendar&lt;&#x2F;a&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
                            &lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
                            &lt;li class=&quot;yui3-menuitem&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
                                &lt;a class=&quot;yui3-menuitem-content&quot; href=&quot;http:&#x2F;&#x2F;notepad.yahoo.com&quot;&gt;Yahoo! Notepad&lt;&#x2F;a&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
                            &lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
                        &lt;&#x2F;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
                    &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
                &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
            &lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
        &lt;&#x2F;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
    &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
&lt;&#x2F;div&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
With the markup for the menu in place, simply get a Node reference for the root menu and then call
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
the <a href="http://yuilibrary.com/yui/docs/api/classes/Node.html#method_plug"><code>plug</code></a> method, passing in a reference to the MenuNav Node Plugin.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
<pre class="code prettyprint">&#x2F;&#x2F;    Call the &quot;use&quot; method, passing in &quot;node-menunav&quot;.  This will load the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
&#x2F;&#x2F;    script and CSS for the MenuNav Node Plugin and all of the required
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
&#x2F;&#x2F;    dependencies.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
YUI().use(&quot;node-menunav&quot;, function(Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
    &#x2F;&#x2F;    Use the &quot;contentready&quot; event to initialize the menu when the subtree of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
    &#x2F;&#x2F;    element representing the root menu (&lt;div id=&quot;menu-1&quot;&gt;) is ready to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
    &#x2F;&#x2F;    be scripted.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
    Y.on(&quot;contentready&quot;, function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
        &#x2F;&#x2F;    The scope of the callback will be a Node instance representing
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
        &#x2F;&#x2F;    the root menu (&lt;div id=&quot;menu-1&quot;&gt;).  Therefore, since &quot;this&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
        &#x2F;&#x2F;    represents a Node instance, it is possible to just call &quot;this.plug&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
        &#x2F;&#x2F;    passing in a reference to the MenuNav Node Plugin.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
        this.plug(Y.Plugin.NodeMenuNav);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
    }, &quot;#menu-1&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
<h2 id="using">Using the MenuNav Node Plugin</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
<h3 id="orientation-style-behavior">Orientation, Style and Behavior</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
<h4 id="configuring-orientation">Configuring Orientation</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   261
The root menu of menus built using the MenuNav Node Plugin can have a verical or horizontal
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   262
orientation.  The default orientation for menus is vertical, but can be easily switched to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
horizontal by applying a class of <code>yui3-menu-horizontal</code> to the node representing the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
root menu's bounding box, as illustrated in the following example:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
<pre class="code prettyprint">&lt;div id=&quot;menu-1&quot; class=&quot;yui3-menu yui3-menu-horizontal&quot;&gt;&lt;!-- Bounding box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
    &lt;div class=&quot;yui3-menu-content&quot;&gt;&lt;!-- Content box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
        &lt;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
            &lt;!-- Menu items --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   271
        &lt;&#x2F;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   272
    &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   273
&lt;&#x2F;div&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
Once the <code>yui3-menu-horizontal</code> class name is applied to the node representing the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
root menu's bounding box, the menu's keyboard interaction is automatically adjusted for a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
horizontal orientation.  The default "Sam" skin provides the following default visualization for
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
horizontal menus, as illustrated in the follow screen capture of a horizontal menu example:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
<div class="wideimage"><img src="../assets/node-menunav/horizontal-menu.png" width="495" height="130" alt="Screenshot of a horizontal menu rendered with the default Sam Skin"></div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
<h4 id="configuring-style-behavior">Configuring Style &amp; Behavior</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
The default "Sam" skin provides two additional visualizations for horizontal menus, each of which
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
can be applied by both changes to the menu label markup and through the application of a class to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
the node representing the root menu's bounding box.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
<h5 id="menu-button-visualization">Menu Button Visualization</h5>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   294
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   295
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
The first of the two optional horizontal menu visualizations available with the "Sam" skin renders
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
each menu label as a menu button; each menu label is rendered with an arrow to the right
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
of its text label, providing a visual cue that there is a corresponding submenu.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   299
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   300
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   301
<div class="wideimage"><img src="../assets/node-menunav/menubutton-menu.png" width="495" height="130" alt="Screen capture of a horizontal menu with each menu label in the root menu rendered as menu buttons."></div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   302
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   303
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   304
To apply this style to a horizontal menu, start by adding the class <code>yui3-menubuttonnav</code>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   305
to the node representing the root menu's bounding box, as illustrated in the following example:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   306
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   307
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   308
<pre class="code prettyprint">&lt;div id=&quot;menu-1&quot; class=&quot;yui3-menu yui3-menu-horizontal yui3-menubuttonnav&quot;&gt;&lt;!-- Bounding box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   309
    &lt;div class=&quot;yui3-menu-content&quot;&gt;&lt;!-- Content box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   310
        &lt;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   311
            &lt;!-- Menu items --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   312
        &lt;&#x2F;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   313
    &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   314
&lt;&#x2F;div&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   315
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   316
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   317
<p>Next, wrap the text node of each menu label in an <code>&#60;em&#62;</code> element:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   318
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   319
<pre class="code prettyprint">&lt;div id=&quot;menu-1&quot; class=&quot;yui3-menu yui3-menu-horizontal yui3-menubuttonnav&quot;&gt;&lt;!-- Bounding box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   320
    &lt;div class=&quot;yui3-menu-content&quot;&gt;&lt;!-- Content box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   321
        &lt;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   322
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   323
            &lt;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   324
                &lt;a class=&quot;yui3-menu-label&quot; href=&quot;#submenu-1&quot;&gt;&lt;em&gt;Submenu Label&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   325
                &lt;div id=&quot;submenu-1&quot; class=&quot;yui3-menu&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   326
                    &lt;div class=&quot;yui3-menu-content&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   327
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   328
                        &lt;!-- submenu content --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   329
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   330
                    &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   331
                &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   332
            &lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   333
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   334
        &lt;&#x2F;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   335
    &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   336
&lt;&#x2F;div&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   337
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   338
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   339
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   340
As a final, optional step, use the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   341
<a href="http://yuilibrary.com/yui/docs/api/classes/plugin.NodeMenuNav.html#attr_autoSubmenuDisplay"><code>autoSubmenuDisplay</code></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   342
and <a href="http://yuilibrary.com/yui/docs/api/classes/plugin.NodeMenuNav.html#attr_mouseOutHideDelay"><code>mouseOutHideDelay</code></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   343
configuration attributes to configure the menu labels to behave like menu buttons.  Set the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   344
<code>autoSubmenuDisplay</code> to <code>false</code>, so that each menu label's submenu isn't
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   345
made visible until the label is clicked.  Set the <code>mouseOutHideDelay</code> to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   346
<code>0</code> so that a label's submenu is only hidden when the user mouses down on an area
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   347
outside of the submenu.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   348
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   349
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   350
<pre class="code prettyprint">&#x2F;&#x2F;    Call the &quot;use&quot; method, passing in &quot;node-menunav&quot;.  This will load the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   351
&#x2F;&#x2F;    script and CSS for the MenuNav Node Plugin and all of the required
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   352
&#x2F;&#x2F;    dependencies.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   353
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   354
YUI().use(&quot;node-menunav&quot;, function(Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   355
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   356
    &#x2F;&#x2F;    Use the &quot;contentready&quot; event to initialize the menu when the subtree of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   357
    &#x2F;&#x2F;    element representing the root menu (&lt;div id=&quot;menu-1&quot;&gt;) is ready to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   358
    &#x2F;&#x2F;    be scripted.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   359
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   360
    Y.on(&quot;contentready&quot;, function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   361
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   362
        &#x2F;&#x2F;    The scope of the callback will be a Node instance representing
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   363
        &#x2F;&#x2F;    the root menu (&lt;div id=&quot;menu-1&quot;&gt;).  Therefore, since &quot;this&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   364
        &#x2F;&#x2F;    represents a Node instance, it is possible to just call &quot;this.plug&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   365
        &#x2F;&#x2F;    passing in a reference to the MenuNav Node Plugin.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   366
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   367
        this.plug(Y.Plugin.NodeMenuNav, { autoSubmenuDisplay: false, mouseOutHideDelay: 0 });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   368
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   369
    }, &quot;#menu-1&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   370
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   371
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   372
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   373
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   374
<h5 id="split-button-visualization">Split Button Visualization</h5>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   375
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   376
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   377
The other optional horizontal menu visualization available with the "Sam" skin renders each menu
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   378
label as a split button.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   379
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   380
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   381
<div class="wideimage"><img src="../assets/node-menunav/splitbutton-menu.png" width="495" height="130" alt="Screen capture of a horizontal menu with each menu label in the root menu rendered as split buttons."></div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   382
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   383
<p>To apply this style to a horizontal menu, start by adding the class
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   384
<code>yui3-splitbuttonnav</code> to the node representing the root menu's bounding box, as
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   385
illustrated in the following example:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   386
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   387
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   388
<pre class="code prettyprint">&lt;div id=&quot;menu-1&quot; class=&quot;yui3-menu yui3-menu-horizontal yui3-splitbuttonnav&quot;&gt;&lt;!-- Bounding box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   389
    &lt;div class=&quot;yui3-menu-content&quot;&gt;&lt;!-- Content box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   390
        &lt;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   391
            &lt;!-- Menu items --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   392
        &lt;&#x2F;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   393
    &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   394
&lt;&#x2F;div&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   395
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   396
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   397
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   398
Next, define the markup for each menu label.  Start with a <code>&#60;span&#62;</code> with a class
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   399
of <code>yui3-menu-label</code> applied.  Inside the <code>&#60;span&#62;</code>, place two
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   400
<code>&#60;a&#62;</code> elements &#151; one for each of the label's two clickable regions.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   401
Each <code>&#60;a&#62;</code> has separate, but related responsibilities:  The first
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   402
<code>&#60;a&#62;</code> represents the label's default action.  The second <code>&#60;a&#62;</code>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   403
toggles the display of a submenu whose content contains other options related to, or in the same
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   404
category as the default action.  Therefore to configure the first <code>&#60;a&#62;</code>,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   405
simply set its <code>href</code> attribute to any URL.  For the second <code>&#60;a&#62;</code>,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   406
apply a class name of <code>yui3-menu-toggle</code>, and set the value of the <code>href</code>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   407
attribute to the id of the label's corresponding submenu.  Lastly, the text node of the second
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   408
<code>&#60;a&#62;</code> should label the contents of its corresponding submenu.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   409
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   410
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   411
<pre class="code prettyprint">&lt;div id=&quot;menu-1&quot; class=&quot;yui3-menu yui3-menu-horizontal yui3-splitbuttonnav&quot;&gt;&lt;!-- Bounding box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   412
    &lt;div class=&quot;yui3-menu-content&quot;&gt;&lt;!-- Content box --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   413
        &lt;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   414
            &lt;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   415
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   416
                &lt;span class=&quot;yui3-menu-label&quot;&gt;&lt;!-- menu label root node --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   417
                    &lt;a href=&quot;http:&#x2F;&#x2F;answers.yahoo.com&quot;&gt;Answers&lt;&#x2F;a&gt;&lt;!-- menu label default action --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   418
                    &lt;a href=&quot;#answers-options&quot; class=&quot;yui3-menu-toggle&quot;&gt;Answers Options&lt;&#x2F;a&gt;&lt;!-- menu label submenu toggle --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   419
                &lt;&#x2F;span&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   420
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   421
                &lt;div id=&quot;answers-options&quot; class=&quot;yui3-menu&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   422
                    &lt;div class=&quot;yui3-menu-content&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   423
                        &lt;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   424
                            &lt;li class=&quot;yui3-menuitem&quot;&gt;&lt;a class=&quot;yui3-menuitem-content&quot; href=&quot;http:&#x2F;&#x2F;answers.yahoo.com&#x2F;dir&#x2F;&quot;&gt;Answer&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   425
                            &lt;li class=&quot;yui3-menuitem&quot;&gt;&lt;a class=&quot;yui3-menuitem-content&quot; href=&quot;http:&#x2F;&#x2F;answersonthestreet.yahoo.com&#x2F;&quot;&gt;Answers on the Street&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   426
                            &lt;li class=&quot;yui3-menuitem&quot;&gt;&lt;a class=&quot;yui3-menuitem-content&quot; href=&quot;http:&#x2F;&#x2F;answers.yahoo.com&#x2F;question&#x2F;;_ylt=Av3Nt22Mr7YNs651NWFv8YUPzKIX;_ylv=3?link=ask&quot;&gt;Ask&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   427
                            &lt;li class=&quot;yui3-menuitem&quot;&gt;&lt;a class=&quot;yui3-menuitem-content&quot; href=&quot;http:&#x2F;&#x2F;answers.yahoo.com&#x2F;dir&#x2F;;_ylt=Aqp_jJlsYDP7urcq2WGC6HBJxQt.;_ylv=3?link=over&amp;amp;amp;more=y&quot;&gt;Discover&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   428
                        &lt;&#x2F;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   429
                    &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   430
                &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   431
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   432
            &lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   433
        &lt;&#x2F;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   434
    &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   435
&lt;&#x2F;div&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   436
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   437
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   438
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   439
Use the <a href="http://yuilibrary.com/yui/docs/api/classes/plugin.NodeMenuNav.html#attr_autoSubmenuDisplay"><code>autoSubmenuDisplay</code></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   440
and <a href="http://yuilibrary.com/yui/docs/api/classes/plugin.NodeMenuNav.html#attr_mouseOutHideDelay"><code>mouseOutHideDelay</code></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   441
configuration attributes to configure the menu labels to behave like split buttons.  Set the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   442
<code>autoSubmenuDisplay</code> to <code>false</code>, so that each menu label's submenu isn't
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   443
made visible until the menu trigger is clicked.  Set the <code>mouseOutHideDelay</code> to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   444
<code>0</code> so that a label's submenu is only hidden when the user mouses down on an area
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   445
outside of the submenu.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   446
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   447
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   448
<pre class="code prettyprint">&#x2F;&#x2F;    Call the &quot;use&quot; method, passing in &quot;node-menunav&quot;.  This will load the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   449
&#x2F;&#x2F;    script and CSS for the MenuNav Node Plugin and all of the required
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   450
&#x2F;&#x2F;    dependencies.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   451
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   452
YUI().use(&quot;node-menunav&quot;, function(Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   453
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   454
    &#x2F;&#x2F;    Use the &quot;contentready&quot; event to initialize the menu when the subtree of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   455
    &#x2F;&#x2F;    element representing the root menu (&lt;div id=&quot;menu-1&quot;&gt;) is ready to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   456
    &#x2F;&#x2F;    be scripted.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   457
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   458
    Y.on(&quot;contentready&quot;, function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   459
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   460
        &#x2F;&#x2F;    The scope of the callback will be a Node instance representing
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   461
        &#x2F;&#x2F;    the root menu (&lt;div id=&quot;menu-1&quot;&gt;).  Therefore, since &quot;this&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   462
        &#x2F;&#x2F;    represents a Node instance, it is possible to just call &quot;this.plug&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   463
        &#x2F;&#x2F;    passing in a reference to the MenuNav Node Plugin.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   464
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   465
        this.plug(Y.Plugin.NodeMenuNav, { autoSubmenuDisplay: false, mouseOutHideDelay: 0 });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   466
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   467
    }, &quot;#menu-1&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   468
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   469
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   470
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   471
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   472
<h5 id="menuitem-separators">MenuItem Separators</h5>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   473
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   474
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   475
The MenuNav Node Plugin makes it easy to create separators between items in a menu.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   476
To separate items in a menu, simply place items in their own
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   477
<code>&lt;ul&gt;</code> elements inside their parent menu's content box, and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   478
apply a class name of <code>first-of-type</code> to the first
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   479
<code>&lt;ul&gt;</code>.  The following code will render separators between
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   480
the "Zimbra" and "Address Book" items, and the "Notepad" and "Messenger" items.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   481
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   482
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   483
<pre class="code prettyprint">&lt;div id=&quot;pim&quot; class=&quot;yui3-menu&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   484
    &lt;div class=&quot;yui3-menu-content&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   485
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   486
        &lt;ul class=&quot;first-of-type&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   487
            &lt;li class=&quot;yui3-menuitem&quot;&gt;&lt;a class=&quot;yui3-menuitem-content&quot; href=&quot;http:&#x2F;&#x2F;mail.yahoo.com&quot;&gt;Mail&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   488
            &lt;li class=&quot;yui3-menuitem&quot;&gt;&lt;a class=&quot;yui3-menuitem-content&quot; href=&quot;http:&#x2F;&#x2F;www.zimbra.com&quot;&gt;Zimbra&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   489
        &lt;&#x2F;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   490
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   491
        &lt;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   492
            &lt;li class=&quot;yui3-menuitem&quot;&gt;&lt;a class=&quot;yui3-menuitem-content&quot; href=&quot;http:&#x2F;&#x2F;addressbook.yahoo.com&quot;&gt;Address Book&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   493
            &lt;li class=&quot;yui3-menuitem&quot;&gt;&lt;a class=&quot;yui3-menuitem-content&quot; href=&quot;http:&#x2F;&#x2F;calendar.yahoo.com&quot;&gt;Calendar&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   494
            &lt;li class=&quot;yui3-menuitem&quot;&gt;&lt;a class=&quot;yui3-menuitem-content&quot; href=&quot;http:&#x2F;&#x2F;notepad.yahoo.com&quot;&gt;Notepad&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   495
        &lt;&#x2F;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   496
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   497
        &lt;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   498
            &lt;li class=&quot;yui3-menuitem&quot;&gt;&lt;a class=&quot;yui3-menuitem-content&quot; href=&quot;http:&#x2F;&#x2F;messenger.yahoo.com&quot;&gt;Messenger&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   499
        &lt;&#x2F;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   500
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   501
    &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   502
&lt;&#x2F;div&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   503
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   504
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   505
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   506
With the separator markup in place, the default "Sam" skin will render a top border between each
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   507
<code>&lt;ul&gt;</code> element, as illustrated in the following screen capture of one of the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   508
MenuNav Node Plugin examples:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   509
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   510
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   511
<div class="wideimage"><img src="../assets/node-menunav/menuitem-separators.png" width="495" height="250" alt="Screen capture of a horizontal menu"></div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   512
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   513
<h3 id="styling-state">Styling State</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   514
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   515
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   516
The MenuNav Node Plugin manages the state of a menu's descendants through the application and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   517
removal of class names.  Class names representing state are constructed using the descendent's
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   518
name followed by a suffix representing the state.  For example, hidden submenus have a class of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   519
<code>yui3-menu-hidden</code>.  Class names used to represent state are always applied to the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   520
descendant's root node.  See the <a href="#css-reference">CSS reference</a> for the complete list of state class
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   521
names.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   522
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   523
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   524
<h4 id="active-vs-inactive">Active vs. Inactive</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   526
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   527
Menuitems and menu labels have a default (inactive) state and an active state.  Menuitems and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   528
menu labels are considered active when the user is interacting with them via the keyboard or the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   529
mouse.  The active class name applied to menuitems and menu labels has two benefits:  It provides
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   530
a single entry point for styling state that would otherwise require the use of multiple CSS
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   531
pseudo classes (<code>:hover</code> and <code>:focus</code>).  The second benefit to the use of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   532
the active class name is that it provides consistent styling of state across all types of elements in
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   533
all <a href="http://yuilibrary.com/yui/docs/tutorials/gbs/">supported browsers</a>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   534
(IE 6 only supports the <code>:hover</code> and <code>:focus</code> pseudo classes on
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   535
<code>&#60;a&#62;</code> elements.  And while IE 7 supports <code>:hover</code> on all elements, it
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   536
only supports <code>:focus</code> pseudo class on <code>&#60;a&#62;</code> elements.)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   537
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   538
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   539
<h4 id="visible-vs-hidden">Visible vs. Hidden</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   540
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   541
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   542
By default all submenus are hidden and that state is reflected by the application of the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   543
<code>yui3-menu-hidden</code> class name.  If the <code>yui3-menu-hidden</code> class name is not
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   544
applied to the bounding box node of all submenus, it will automatically be applied by the MenuNav's
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   545
constructor.  When a submenu is visible, the <code>yui3-menu-hidden</code> class name is removed
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   546
and a class <code>yui3-menu-label-menuvisible</code> is applied to the submenu's corresponding label.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   547
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   548
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   549
<h3 id="configuration-attributes">Configuration Attributes</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   550
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   551
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   552
The MenuNav Node Plugin has several configuration attributes that can be set via an object literal
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   553
that is passed as a second argument to a Node instance's
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   554
<a href="http://yuilibrary.com/yui/docs/api/classes/Node.html#method_plug"><code>plug</code></a> method.  (<em>Note:</em>  These
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   555
attributes are <em>case sensitive</em>.)  In the following example, the value of the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   556
<code>mouseOutHideDelay</code> attribute is set to 1000.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   557
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   558
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   559
<pre class="code prettyprint">var oMenuNav = Y.one(&quot;#productsandservices&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   560
oMenuNav.plug(Y.Plugin.NodeMenuNav, { mouseOutHideDelay: 1000 });</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   561
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   562
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   563
<p>The complete list of the MenuNav Node Plugin configuration attributes are:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   564
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   565
<table>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   566
    <thead>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   567
        <tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   568
            <th>Name</th>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   569
            <th>Default Value</th>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   570
            <th>Description</th>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   571
        </tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   572
    </thead>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   573
    <tbody>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   574
        <tr id="usearia">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   575
            <td>useARIA</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   576
            <td>True</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   577
            <td>Boolean indicating if use of the WAI-ARIA Roles and States should be enabled for the MenuNav.  Set to true by default for Firefox 3 and Internet Explorer 8 as currently only these browsers have support for ARIA, and are supported by several screen readers for Windows that also offer support for ARIA.</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   578
        </tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   579
        <tr id="autosubmenudisplay">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   580
            <td>autoSubmenuDisplay</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   581
            <td>True</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   582
            <td>Boolean indicating if submenus are automatically made visible when the user mouses over the menu's items.</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   583
        </tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   584
        <tr id="submenushowdelay">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   585
            <td>submenuShowDelay</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   586
            <td>250</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   587
            <td>Number indicating the time (in milliseconds) that should expire before a submenu is made visible when the user mouses over the menu's label.  </td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   588
        </tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   589
        <tr id="submenuhidedelay">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   590
            <td>submenuHideDelay</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   591
            <td>250</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   592
            <td>Number indicating the time (in milliseconds) that should expire before a submenu is hidden when the user mouses out of a menu label heading in the direction of a submenu.</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   593
        </tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   594
        <tr id="mouseouthidedelay">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   595
            <td>mouseOutHideDelay</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   596
            <td>750</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   597
            <td>Number indicating the time (in milliseconds) that should expire before a submenu is hidden when the user mouses out of it.</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   598
        </tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   599
    </tbody>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   600
</table>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   601
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   602
<h3 id="handling-events">Handling Events</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   603
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   604
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   605
The MenuNav Node Plugin publishes no custom events of its own.  To listen for any DOM-related
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   606
events for a menu built using the MenuNav Node Plugin, use the <a href="http://yuilibrary.com/yui/docs/api/classes/Node.html#method_on"><code>on</code></a> method of the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   607
plugin's host Node instance.  The following example illustrates how to listen for the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   608
<code>click</code> event of menu a built using the MenuNav Node Plugin:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   609
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   610
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   611
<pre class="code prettyprint">&#x2F;&#x2F; Get a Node instance for HTML element
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   612
var oMenuNode = Y.one(&quot;#menu-nav-1&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   613
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   614
&#x2F;&#x2F; Apply the MenuNav Node Plugin to the Node instance
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   615
oMenuNode.plug(Y.Plugin.NodeMenuNav);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   616
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   617
&#x2F;&#x2F; Register a &quot;click&quot; event listener to the Node instance using the &quot;on&quot; method
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   618
oMenuNode.on(&quot;click&quot;, function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   619
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   620
    alert(&quot;here&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   621
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   622
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   623
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   624
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   625
<p>For additional information on listening for DOM-related events, see the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   626
<a href="../node/index.html#node-events">DOM Events</a> section of the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   627
<a href="../node/index.html">Node landing page</a>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   628
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   629
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   630
<h3 id="iframe-shim"><code>&lt;iframe&gt;</code> Shim</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   631
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   632
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   633
The MenuNav Node Plugin uses an <code>&lt;iframe&gt;</code> shim to prevent
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   634
<code>&lt;select&gt;</code> elements from poking through submenus in IE 6.  The
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   635
<code>&lt;iframe&gt;</code> shim is only used for IE 6, and for performance its creation is
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   636
deferred until the first time a submenu is made visible.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   637
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   638
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   639
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   640
Once created, the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   641
<code>&lt;iframe&gt;</code> shim is appended to the node representing a submenu's bounding box,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   642
and is therefore a sibling of the the a submenu's content box.  All styling of the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   643
<code>&lt;iframe&gt;</code> is handled by the core CSS file for the MenuNav Node Plugin, so
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   644
authors of custom skins won't have to worry about it.  The markup template used to create each
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   645
<code>&lt;iframe&gt;</code> is accessible via the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   646
<a href="http://yuilibrary.com/yui/docs/api/classes/plugin.NodeMenuNav.html#property_NodeMenuNav.SHIM_TEMPLATE"><code>SHIM_TEMPLATE</code></a> property.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   647
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   648
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   649
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   650
To help users of screen readers to avoid mistakenly interacting with the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   651
<code>&lt;iframe&gt;</code> shim, its <code>tabindex</code> attribute is set to "-1" and its
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   652
title attribute is set to "Menu Stacking Shim".  The value of the <code>&lt;iframe&gt;</code>'s
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   653
<code>title</code> attribute is available via the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   654
<a href="http://yuilibrary.com/yui/docs/api/classes/plugin.NodeMenuNav.html#property_NodeMenuNav.SHIM_TEMPLATE_TITLE"><code>SHIM_TEMPLATE_TITLE</code></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   655
property for easy localization.  Lastly, the <code>src</code> attribute of the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   656
<code>&lt;iframe&gt;</code> is set to "javascript:false;" so that it won't load a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   657
page inside it, preventing the secure/nonsecure warning in IE when using the MenuNav Node Plugin
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   658
with HTTPS.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   659
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   660
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   661
<h2 id="css-reference">CSS reference</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   662
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   663
<table>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   664
    <thead>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   665
        <tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   666
            <th>Class Name</th>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   667
            <th>Description</th>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   668
        </tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   669
    </thead>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   670
    <tbody>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   671
        <tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   672
            <td>yui3-menu</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   673
            <td>Applied to the element representing a menu's bounding box.</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   674
        </tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   675
        <tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   676
            <td>yui3-menu-content</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   677
            <td>Applied to the element representing a menu's content box.</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   678
        </tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   679
        <tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   680
            <td>yui3-menu-hidden</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   681
            <td>Applied to a menu's bounding box when hidden.</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   682
        </tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   683
        <tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   684
            <td>yui3-shim</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   685
            <td>Applied to the element serving as a menu's shim.</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   686
        </tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   687
        <tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   688
            <td>yui3-menu-horizontal</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   689
            <td>Renders a menu horizontally.  Applied to a menu's bounding box element.</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   690
        </tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   691
        <tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   692
            <td>yui3-menu-label</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   693
            <td>Applied to the element representing a menu's label.</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   694
        </tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   695
        <tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   696
            <td>yui3-menu-label-active</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   697
            <td>Applied to a menu's label when it is a MenuNav's active descendent.</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   698
        </tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   699
        <tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   700
            <td>yui3-menu-label-menuvisible</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   701
            <td>Applied to a menu's label when its corresponding menu is visible.</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   702
        </tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   703
        <tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   704
            <td>yui3-menuitem</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   705
            <td>Applied to the element representing a menuitem's bounding box.</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   706
        </tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   707
        <tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   708
            <td>yui3-menuitem-content</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   709
            <td>Applied to the element representing a menuitem's content box.</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   710
        </tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   711
        <tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   712
            <td>yui3-menuitem-active</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   713
            <td>Applied to a menuitem when it is a MenuNav's active descendent.</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   714
        </tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   715
        <tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   716
            <td>first-of-type</td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   717
            <td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   718
                Applied to the first <code>&lt;ul&gt;</code> element inside each menu's
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   719
                content box.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   720
            </td>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   721
        </tr>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   722
    </tbody>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   723
</table>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   724
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   725
<h2 id="known-issues">Known Issues</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   726
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   727
<ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   728
    <li><strong>Open <code>&lt;select&gt;</code>-based menus poke through submenus of a menu
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   729
        created using the MenuNav Node Plugin</strong>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   730
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   731
        <p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   732
            <img src="../assets/node-menunav/select-issue.png" style="width:370px; height:257px; float:right;" alt="Screen capture of an open HTML select-based menu poking through the submenu of a menu created using the MenuNav Node Plugin">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   733
            In Safari 3 and IE 6 the <code>&lt;select&gt;</code> element's
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   734
            popup menu is modal&#151;making it impossible to interact with any
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   735
            of the other elements on the page, and therefore impossible to both
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   736
            trigger the display of a DHTML menu and impossible for the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   737
            <code>&lt;select&gt;</code> element's popup menu to potentially
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   738
            poke through a DHTML menu.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   739
        </p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   740
        <p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   741
            In all other browsers, a <code>&lt;select&gt;</code> element's
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   742
            popup menu is both <em>not</em> modal and has a zindex higher than
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   743
            any other element.  The established best practice of using an
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   744
            <code>&lt;iframe&gt;</code> element has a shim does not fix the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   745
            problem.  Currently there is no fix for this issue.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   746
        </p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   747
    </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   748
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   749
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   750
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   751
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   752
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   753
        <div class="yui3-u-1-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   754
            <div class="sidebar">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   755
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   756
                    <div id="toc" class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   757
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   758
                            <h2 class="no-toc">Table of Contents</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   759
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   760
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   761
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   762
                            <ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   763
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   764
<a href="#getting-started">Getting Started</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   765
<ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   766
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   767
<a href="#setup">Basic Setup</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   768
<ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   769
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   770
<a href="#menu-markup-example">Menu Markup Example</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   771
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   772
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   773
<a href="#menuitem-markup-example">MenuItem Markup Example</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   774
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   775
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   776
<a href="#submenu-markup-example">Submenu Markup Example</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   777
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   778
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   779
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   780
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   781
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   782
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   783
<a href="#using">Using the MenuNav Node Plugin</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   784
<ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   785
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   786
<a href="#orientation-style-behavior">Orientation, Style and Behavior</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   787
<ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   788
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   789
<a href="#configuring-orientation">Configuring Orientation</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   790
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   791
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   792
<a href="#configuring-style-behavior">Configuring Style &amp; Behavior</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   793
<ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   794
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   795
<a href="#menu-button-visualization">Menu Button Visualization</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   796
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   797
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   798
<a href="#split-button-visualization">Split Button Visualization</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   799
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   800
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   801
<a href="#menuitem-separators">MenuItem Separators</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   802
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   803
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   804
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   805
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   806
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   807
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   808
<a href="#styling-state">Styling State</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   809
<ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   810
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   811
<a href="#active-vs-inactive">Active vs. Inactive</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   812
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   813
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   814
<a href="#visible-vs-hidden">Visible vs. Hidden</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   815
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   816
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   817
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   818
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   819
<a href="#configuration-attributes">Configuration Attributes</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   820
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   821
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   822
<a href="#handling-events">Handling Events</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   823
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   824
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   825
<a href="#iframe-shim"><code>&lt;iframe&gt;</code> Shim</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   826
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   827
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   828
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   829
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   830
<a href="#css-reference">CSS reference</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   831
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   832
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   833
<a href="#known-issues">Known Issues</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   834
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   835
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   836
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   837
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   838
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   839
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   840
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   841
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   842
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   843
                            <h2 class="no-toc">Examples</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   844
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   845
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   846
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   847
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   848
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   849
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   850
                                        <li data-description="Creating left navigation using the MenuNav Node Plugin.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   851
                                            <a href="menunav-leftnav.html">Basic Left Nav</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   852
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   853
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   854
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   855
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   856
                                        <li data-description="Creating top navigation using the MenuNav Node Plugin">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   857
                                            <a href="node-menunav-2.html">Basic Top Nav</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   858
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   859
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   860
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   861
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   862
                                        <li data-description="Creating menu button navigation using the MenuNav Node Plugin">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   863
                                            <a href="node-menunav-3.html">Menu Button Top Nav</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   864
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   865
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   866
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   867
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   868
                                        <li data-description="Creating split button navigation using the MenuNav Node Plugin">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   869
                                            <a href="node-menunav-4.html">Split Button Top Nav</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   870
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   871
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   872
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   873
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   874
                                        <li data-description="Adding shadows to submenus of a left nav using the MenuNav Node Plugin">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   875
                                            <a href="node-menunav-5.html">Left Nav with Submenus with Shadows</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   876
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   877
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   878
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   879
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   880
                                        <li data-description="Adding rounded corners to submenus of a left nav using the MenuNav Node Plugin">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   881
                                            <a href="node-menunav-6.html">Left Nav With Submenus With Rounded Corners</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   882
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   883
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   884
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   885
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   886
                                        <li data-description="Skining a menu built using the MenuNav Node Plugin to look like the menus on Flickr">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   887
                                            <a href="node-menunav-7.html">Skinning Menus Created Using the MenuNav Node Plugin</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   888
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   889
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   890
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   891
                            </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   892
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   893
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   894
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   895
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   896
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   897
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   898
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   899
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   900
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   901
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   902
<script src="../assets/vendor/prettify/prettify-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   903
<script>prettyPrint();</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   904
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   905
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   906
YUI.Env.Tests = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   907
    examples: [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   908
    project: '../assets',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   909
    assets: '../assets/node-menunav',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   910
    name: 'node-menunav',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   911
    title: 'MenuNav Node Plugin',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   912
    newWindow: '',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   913
    auto:  false 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   914
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   915
YUI.Env.Tests.examples.push('menunav-leftnav');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   916
YUI.Env.Tests.examples.push('node-menunav-2');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   917
YUI.Env.Tests.examples.push('node-menunav-3');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   918
YUI.Env.Tests.examples.push('node-menunav-4');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   919
YUI.Env.Tests.examples.push('node-menunav-5');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   920
YUI.Env.Tests.examples.push('node-menunav-6');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   921
YUI.Env.Tests.examples.push('node-menunav-7');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   922
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   923
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   924
<script src="../assets/yui/test-runner.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   925
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   926
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   927
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   928
</body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   929
</html>