2010-01-26 129 views
0

所以我想了解YUI工具包,並且我的菜單欄有可用子菜單的問題。如果我使用下面的代碼:YUI MenuBar沒有顯示子菜單

<html> 
<head> 
<title>Web</title> 

<!-- Yahoo UI --> 
<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/combo?2.8.0r4/build/reset-fonts-grids/reset-fonts-grids.css&2.8.0r4/build/base/base-min.css&2.8.0r4/build/assets/skins/sam/skin.css"> 
<script type="text/javascript" src="http://yui.yahooapis.com/combo?2.8.0r4/build/utilities/utilities.js&2.8.0r4/build/datasource/datasource-min.js&2.8.0r4/build/autocomplete/autocomplete-min.js&2.8.0r4/build/container/container-min.js&2.8.0r4/build/menu/menu-min.js&2.8.0r4/build/button/button-min.js&2.8.0r4/build/calendar/calendar-min.js&2.8.0r4/build/carousel/carousel-min.js&2.8.0r4/build/json/json-min.js&2.8.0r4/build/swf/swf-min.js&2.8.0r4/build/charts/charts-min.js&2.8.0r4/build/slider/slider-min.js&2.8.0r4/build/colorpicker/colorpicker-min.js&2.8.0r4/build/cookie/cookie-min.js&2.8.0r4/build/paginator/paginator-min.js&2.8.0r4/build/datatable/datatable-min.js&2.8.0r4/build/datemath/datemath-min.js&2.8.0r4/build/editor/editor-min.js&2.8.0r4/build/element-delegate/element-delegate-min.js&2.8.0r4/build/selector/selector-min.js&2.8.0r4/build/event-delegate/event-delegate-min.js&2.8.0r4/build/event-mouseenter/event-mouseenter-min.js&2.8.0r4/build/event-simulate/event-simulate-min.js&2.8.0r4/build/history/history-min.js&2.8.0r4/build/resize/resize-min.js&2.8.0r4/build/imagecropper/imagecropper-min.js&2.8.0r4/build/imageloader/imageloader-min.js&2.8.0r4/build/layout/layout-min.js&2.8.0r4/build/logger/logger-min.js&2.8.0r4/build/progressbar/progressbar-min.js&2.8.0r4/build/swfstore/swfstore-min.js&2.8.0r4/build/storage/storage-min.js&2.8.0r4/build/stylesheet/stylesheet-min.js&2.8.0r4/build/tabview/tabview-min.js&2.8.0r4/build/treeview/treeview-min.js&2.8.0r4/build/uploader/uploader-min.js"></script> 

<!-- Google Gears --> 
<script type="text/javascript" src="js/gears_init.js"></script> 

<script type="text/javascript" src="mainpanel.js"></script> 


<style type="text/css"> 

.yuimenubaritemlabel { 
    margin: 0px; 
    padding: 2px; 
} 
</style> 

<script type="text/javascript"> 
YAHOO.util.Event.onDOMReady(function() { 
    makePanel(); 
}); 
</script> 
</head> 

<body class="yui-skin-sam"></body> 
</html> 

用下面的javascript:

function makePanel() { 
    var Dom = YAHOO.util.Dom, 
     Event = YAHOO.util.Event, 
     MenuBarItem = YAHOO.widget.MenuBarItem; 

    var body = document.body; 

var divNames = ['top1', 'bottom1', 'left1', 'right1', 'center1']; 
for (var i in divNames) { 
    var div = document.createElement('div'); 
    div.id = divNames[i]; 
    div.style.border = 0; 
    body.appendChild(div); 
} 
var topDiv = document.getElementById('top1'); 

var layout = new YAHOO.widget.Layout({ 
    units: [ 
     { position: 'top', height: 25, body: 'top1' }, 
     { position: 'right', header: 'Right', width: 300, resize: true, collapse: true, scroll: true, body: 'right1', animate: true}, 
     { position: 'bottom', height: 20, body: 'bottom1' }, 
     { position: 'left', header: 'Left', width: 200, body: 'left1', collapse:true}, 
     { position: 'center', body: 'center1'} 
    ] 
}); 
layout.render(document.body); 

var menuData = [ 
{ text: "File", }, 
{ text: "Help", } 
]; 

var menuBar = new YAHOO.widget.MenuBar("menubar", { 
         hidedelay: 750, autosubmenudisplay: true, 
         lazyload: true, 
         itemdata: menuData, 
         effect: { 
          effect: YAHOO.widget.ContainerEffect.FADE, 
          duration: 0.25 
         } 
        }); 
/*var fileMenu = menuBar.getItem(0); 
if (fileMenu != null) { 
    fileMenu.addItem({ text: "Log off", id: "logoff", onclick: { fn: onLogoff } }); 
}*/ 
menuBar.render(document.getElementById('top1')); 

}; 

我不能讓子菜單的配合使用,無論是語法:

var menuData = [ 
     {text: "File", 
     itemdata: [ "New", "Open", "Close" ] } 
     {text: "Help" 
     itemdata: [ "Welcome", "About" ] } 
    ]; 

var menuData = [ 
     { text: "File", 
      submenu: { 
       id: "filemenu", 
        itemdata: [ "New", "Open", "Close" ] } 
     } ]; 

關於我去哪裏的任何想法恩錯了嗎?我正在使用YUI 2.0。

回答

0

嘿,克里斯。很高興在互聯網上看到一位老同事。

只是想建議你張貼在YUILibrary論壇 - http://yuilibrary.com/forum/(具體在這裏:http://yuilibrary.com/forum/viewforum.php?f=89)。這是在Todd(誰寫菜單)和其他誰每天使用YUI的前面得到它的最好的地方。

問候, 埃裏克

+0

是的,這將是我的下一步......我只是很習慣從StackOverflow真正偉大的答案,這是我現在的第一站。謝謝你的提示! – 2010-01-26 14:18:11

1

對於任何可能在將來找到這個網頁,就如何在YUI佈局中使用菜單欄模塊的指令可以在這裏找到:從

http://developer.yahoo.com/yui/examples/layout/menu_layout.html

鏈接Dav Glass @ YUI論壇。

+0

優秀的鏈接,但如果你看看這個鏈接和我的高度濃縮版本,你會發現我做的唯一不同的事情就是動態div'top1,center1等。我做錯了什麼,我可以得到一個菜單,但沒有子菜單? – 2010-02-02 19:12:11