0

我想通过从列表中获取菜单元素来动态创建一个 yui 菜单。

例如我有一个清单

   MENULIST:
  MENUITEM1
  MENUITEM2
  MENUITEM3
  MENUITEM4 

这些菜单项是对象,将具有子菜单和相关属性,例如 onclick 等列表功能

MENUITEM1----->SUBMENUITEM11,ONCLICK=SOMEFUNCTION()
                 SUBMENUITEM12,ONCLICK=SOMEFUNCTION()
                 SUBMENUITEM13,ONCLICK=SOMEFUNCTION()
  MENUITEM2----->SUBMENUITEM21,ONCLICK=SOMEFUNCTION()
                 SUBMENUITEM22,ONCLICK=SOMEFUNCTION()

我将在运行时获取这些列表,因此需要动态加载菜单。yui 菜单中是否有任何选项可以执行此循环列表和生成菜单。比你提前。

4

1 回答 1

0

现在不是因为 NodeMenuNav 它只是一个插件。有一个新的菜单组件计划,它将支持从 JavaScript 创建菜单项。Ryan Grove 最近贡献了一个 Tree 数据结构,可以在其上构建未来的 Menu 组件。他还在开发一个新的 FocusManager,所以一切都在工作中。

现在您需要自己创建标记,然后应用 NodeMenuNav 插件。一个好主意是使用像 Template.Micro 这样的模板。查看 tmeplates 用户指南:http: //yuilibrary.com/yui/docs/template/。菜单的 Micro 模板可能如下所示:

<div id="menu-1" class="yui3-menu">
  <div class="yui3-menu-content">
    <ul>
      <% Y.Array.each(this.menus, function (menu) { %>
        <li class="yui3-menuitem">
          <a class="yui3-menuitem-content" href="<%= menu.link %>"><%= menu.label %></a>
        </li>
      <% }); %>
    </ul>
  </div>
</div>
于 2013-02-20T14:53:50.087 回答