Ext.menu.Menu菜單欄

轉自於:http://www.cnblogs.com/libingql/archive/2012/04/14/2446847.html

1、Ext.menu.Menu主要配置項

Ext.menu.Menu組件主要配置項

配置項 參數類型 說明
items Mixed 有效菜單項數組
ignoreParentClicks Boolean 忽略任何作爲父菜單項的單擊事件,默認爲false
plain Boolean 是否移除菜單左側的豎線,默認爲false

菜單項主要類型

菜單元素名稱 說明
Ext.menu.Item 菜單項基類
Ext.menu.Separator 菜單分隔符
Ext.menu.CheckItem 包含選擇框的菜單項,也可以是一個單選組
Ext.menu.ColorPicker 顏色選擇器
Ext.menu.DatePicker 日期選擇器

Ext.menu.Item主要配置項

配置項 參數類型 說明
canActivate Boolean 當鼠標移入菜單或菜單項獲得焦點時,是否高亮顯示菜單項,默認爲true
clickHideDelay Number 點擊菜單項之後,隱藏菜單項的延時時間,默認爲1ms
destoryMenu Boolean 是否級聯銷燬子菜單,默認爲true
hideOnClick Boolean 點擊菜單項之後是否隱藏菜單,默認爲true
href String 超鏈接,默認爲#
hrefTarget String 打開超鏈接的目標框架名稱,默認爲undefined
menuExpandDelay Number 子菜單展開之前,鼠標移入菜單項之後的延時時間,默認爲300ms,只有在菜單項具有子菜單時生效
menuHideDelay Number 子菜單隱藏之前,鼠標移入菜單項之後的延時時間,默認爲300ms,只有在菜單項具有子菜單時生效
menuAlign String 設置子菜單與父菜單的對其關係
menu Mixed 子菜單

2、簡單示例

代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Ext.menu.Menu菜單欄</title>
    <link href="ext-4.0.7-gpl/resources/css/ext-all.css" rel="stylesheet" type="text/css" />
    <script src="ext-4.0.7-gpl/bootstrap.js" type="text/javascript"></script>
    <script type="text/javascript">
        Ext.onReady(function () {
            var toolbar = Ext.create("Ext.Toolbar", {
                renderTo: Ext.getBody(),
                width: 500
            });

            var file = new Ext.menu.Menu({
                shadow: "drop",
                allowOtherMenus: true,
                items: [
                    new Ext.menu.Item({
                        text: "新建",
                        handler: onMunuItem
                    }),
                    new Ext.menu.Item({
                        text: "打開",
                        handler: onMunuItem
                    }),
                    new Ext.menu.Item({
                        text: "保存",
                        handler: onMunuItem
                    }),
                    new Ext.menu.Item({
                        text: "另存爲",
                        handler: onMunuItem
                    }),
                    new Ext.menu.Separator(),
                    new Ext.menu.Item({
                        text: "退出",
                        handler: onMunuItem
                    })
                ]
            });

            var edit = new Ext.menu.Menu({
                shadow: "frame",
                allowOtherMenus: true,
                items: [
                    new Ext.menu.Item({
                        text: "撤銷",
                        handler: onMunuItem
                    }),
                    new Ext.menu.Separator(),
                    new Ext.menu.Item({
                        text: "剪切",
                        handler: onMunuItem
                    }),
                    new Ext.menu.Item({
                        text: "複製",
                        handler: onMunuItem
                    }),
                    new Ext.menu.Item({
                        text: "粘貼",
                        handler: onMunuItem
                    }),
                    new Ext.menu.Item({
                        text: "刪除",
                        handler: onMunuItem
                    })
                ]
            });
            toolbar.add({
                text: "文件",
                menu: file
            }, {
                text: "編輯",
                menu: edit
            });

            function onMunuItem(item) {
                Ext.MessageBox.alert(item.text);
            }
        });
    </script>
</head>
<body>
</body>
</html>

效果圖:

3、二級或多級菜單

代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Ext.menu.Menu菜單欄</title>
    <link href="ext-4.0.7-gpl/resources/css/ext-all.css" rel="stylesheet" type="text/css" />
    <script src="ext-4.0.7-gpl/bootstrap.js" type="text/javascript"></script>
    <script type="text/javascript">
        Ext.onReady(function () {
            var toolbar = Ext.create("Ext.Toolbar", {
                renderTo: Ext.getBody(),
                width: 500
            });

            var category = new Ext.menu.Menu({
                ignoreParentClicks: true,
                plain: true,
                items: [{
                    text: "服裝服飾",
                    menu: new Ext.menu.Menu({
                        ignoreParentClicks: true,
                        items: [{
                            text: "特色服飾",
                            menu: new Ext.menu.Menu({
                                items: [{
                                    text: "婚紗禮服"
                                }, {
                                    text: "職業套裝"
                                }, {
                                    text: "舞臺裝"
                                }]
                            })
                        }, {
                            text: "時尚休閒"
                        }]
                    })
                }, {
                    text: "數碼家電"
                }]
            });
            toolbar.add({
                text: "商品分類",
                menu: category
            });
        });
    </script>
</head>
<body>
</body>
</html>

效果圖:

4、具有選擇框的菜單

代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>動態更新消息文字</title>
    <link href="ext-4.0.7-gpl/resources/css/ext-all.css" rel="stylesheet" type="text/css" />
    <script src="ext-4.0.7-gpl/bootstrap.js" type="text/javascript"></script>
    <script type="text/javascript">
        Ext.onReady(function () {
            var toolbar = new Ext.toolbar.Toolbar({
                renderTo: Ext.getBody(),
                width: 300
            });

            var themeMenu = new Ext.menu.Menu({
                items: [{
                    text: "主題顏色",
                    menu: new Ext.menu.Menu({
                        items: [{
                            text: "紅色主題",
                            checked: true,
                            group: "theme",
                            checkHandler: onItemCheck
                        }, {
                            text: "藍色主題",
                            checked: false,
                            group: "theme",
                            checkHandler: onItemCheck
                        }, {
                            text: "灰色主題",
                            checked: false,
                            group: "theme",
                            checkHandler: onItemCheck
                        }]
                    })
                }, {
                    text: "是否啓用",
                    checked: false
                }]
            });

            toolbar.add({
                text: "選擇風格",
                menu: themeMenu
            });

            function onItemCheck(item) {
                Ext.MessageBox.alert(item.text);
            }
        });
    </script>
</head>
<body>
</body>
</html>

效果圖:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章