メニューを表示する

書式

menuObj = new YAHOO.widget.Menu(element, options)
menuObj.render(baseElement)
menuObj.show()

menuObj : メニューオブジェクト
element : ページ上のエレメント (divタグ)
options : オプション【省略可能】
baseElement : メニューを表示する基準エレメント【省略可能】

説明

 メニューを表示するにはYAHOO.widget.Menu()を使います。最初のパラメータはメニューにするエレメントを指定します。2番目のオプションは以下の表のものが指定できます。メニューオブジェクトを作成した後にrender()とshow()で画面に描画/表示を行います。また、HTMLタグで項目リストを構築し、Yahooが用意したスタイルシートクラスなどを利用すると手軽にメニューを構築できます。
 グループメニューの場合、HTMLタグでulタグの2番目のクラスにはfirst-of-typeを指定しないようにします。グループ数だけulタグを用意すると自動的に描画され表示されます。また、メニューを階層化するにはliタグ内にulタグを入れ子にします。入れ子にすることで深い階層のメニューを作成することができます。

visibletrue : 表示する、false : 表示しない
effectメニュー表示/非表示の際のエフェクト
monitorresizeサイズが変化した時の処理(true : する、false : しない)
xX座標
yY座標
xyXY座標(配列)
contextコンテキストエレメント
fixedcenter中央に固定(true : する、false : しない)
width横幅
height縦幅
zIndexZ座標
constraintoviewport表示領域内に表示する(true : する、false : しない)
iframeiframeタグにする(true : する、false : しない)
positionstaticまたはdynamic
submenualignment表示位置(配列で主項目、子項目の順番に指定。"tl","tr"等を指定)

サンプルコード [実行]

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Sample</title>
<link rel="stylesheet" href="main.css" type="text/css" media="all">
<link rel="stylesheet" href="css/menu.css" type="text/css" media="all">
<script type="text/javascript" src="yahoo.js"></script>
<script type="text/javascript" src="dom.js"></script>
<script type="text/javascript" src="event.js"></script>
<script type="text/javascript" src="container.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript"><!--
window.onload = function(){
var myMenu = new YAHOO.widget.Menu("menu1");
myMenu.render();
myMenu.show();
}
// --></script>
</head>
<body>
<h1>フラットなメニュー</h1>
<div id="menu1" class="yuimenu">
<div class="bd">
<ul class="first-of-type">
<li class="yuimenuitem"><a href="http://www.openspc2.org/">OpenSpace</a></li>
<li class="yuimenuitem"><a href="http://www.bnn.co.jp/">BNN</a></li>
<li class="yuimenuitem"><a href="http://www.e-frontier.co.jp/">e frontier</a></li>
</ul>
</div>
</div>
</body>
</html>