goog.ui.PopupMenu と goo.ui.MenuButton を試した。
PopupMenu は名前のまんまのメニュー。ボタンや特定のエリアにくっつけて使う。
上記はボタンにくっつけた例。
作成方法は先日紹介したボタンと同様に2通りある。
(1) Popup インスタンスを作成する方法
(2) 特定の DIV を装飾(decorate)する方法
(2)の方法を使った場合はこんな感じ。
<h2>(1) Decorated Popup</h2>
<button id="button1">Popup</button>
<div id="menu1" for="button1" class="goog-menu" style="display:none">
<div class="goog-menuitem">monkey</div>
<div class="goog-menuitem">dog</div>
<div class="goog-menuseparator"></div>
<div class="goog-menuitem">cat</div>
<div class="goog-menuseparator"></div>
<div class="goog-menuitem">dolphin</div>
</div>
<script>
var pm1 = new goog.ui.PopupMenu();
pm1.setToggleMode(true);
pm1.decorate(goog.dom.$('menu1'));
goog.events.listen(pm1, goog.ui.Component.EventType.ACTION,
function(e) {
alert(e.target.getCaption());
});
</script>
ボタンと PopupMenuを作り紐づける。ボタン以外の何でも紐付けすることができる。
次に MenuButton。こちらはボタンと PopupMenu を組み合わせたもの。GMailで使われているあのスタイル。
コードはこんな感じ。
<h2>(2) Decorated MenuButton</h2>
<div id="button2" class="goog-menu-button" title="MenuButton">
<span style="vertical-align:middle">Format</span>
<div id="menu2" class="goog-menu">
<div class="goog-menuitem">monkey</div>
<div class="goog-menuitem">dog</div>
<div class="goog-menuseparator"></div>
<div class="goog-menuitem">cat</div>
<div class="goog-menuseparator"></div>
<div class="goog-menuitem">dolphin</div>
</div>
</div>
<script>
var btn2 = goog.ui.decorate(goog.dom.$('button2'));
goog.events.listen(btn2, goog.ui.Component.EventType.ACTION,
function(e) {
alert(e.target.getCaption());
});
</script>
こちらはボタンの中に PopupMenuが入った感じだ。ボタンとPopupMenuを組み合わせる場合はこちらの方が簡単に書ける。
デモはこちら:
http://closuresample.appspot.com/html/popup.html




0 件のコメント:
コメントを投稿