zoukankan      html  css  js  c++  java
  • ExtJS专题选项面板(1)

    上一次我们学习了表格面板GridPanel,已经初步体验到ExtJS的强大。这次让我们来看一下选项面板。TabPanel的效果我们在桌面应用中看到的最多,也经常会幻想要是把那样的效果移植到WEB应用中就厉害了。可如果我们使用ExtJS,这种复杂的效果只是简简单单几十行代码的问题。让我们来一起感受下TabPanel的魅力吧。

     

    这里主要是两个文件tabs.htmltabs.js

     

    1.      tabs.html,为了达到右键菜单关闭选项面板的效果,我们配置了一个插件,这个类大家可以在ExtJSexamples里找到,实际上下面的例子也是examples里面,目录为ext-2.0.2/examples/tabs/。只是和我们上次学到的GridPanel结合起来了。注意把文本稍微汉化一下。

     

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <title>Insert title here</title>

    <link rel="stylesheet" type="text/css"  href="resources/css/ext-all.css">

    <script type="text/javascript" src="resources/js/ext-base.js"></script>

    <script type="text/javascript" src="resources/js/ext-all.js"></script>

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

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

    <style>

    </style>

    </head>

    <body>

     <div id="tabs" style="margin:15px 0;"></div>

    </body>

    </html>

     

    2.     tabs.js,在这个JS文件中我们定义了一个TabPanel对象,它可以左右移动显示选项,还可以右键关闭自身或其它所有可关闭的选项。而在我们主选项面板中会自动加载一个放置着IFRAMEJSP,显示的内容是我们上次学过的GridPanel。这也是一个值得注意的小技巧。

     

    Ext.onReady(function() {

        Ext.QuickTips.init();// 浮动信息提示

        Ext.BLANK_IMAGE_URL = 'resources/images/default/s.gif';// 替换图片文件地址为本地

               

        var tabs = new Ext.TabPanel({

                    renderTo : 'tabs',//idtabs的地方显示

                    title:'功能强大的选项面板',

                    resizeTabs : true, // 改变选项大小

                    minTabWidth : 115,//每个选项的最小宽度

                    tabWidth : 135,//每个选项的宽度

                    activeTab : 0, // 当前活动面板为第一个,索引为0

                    enableTabScroll : true,//可以左右滑动

                    width : 705,//选项面板宽度

                    height : 450,//选项面板高度

                    defaults : {

                        autoScroll : true

                    },

                    plugins : new Ext.ux.TabCloseMenu(),

                    items : [{

                                id : 'tab1', // 设置主选项的ID标识

                                //xtype : 'panel',// xtype2.0版本引入,代表组件类型,在这里默认就是panel

                                // contentEl : 'tabs', // idtabshtml元素放置在这里

                                title : '主页', // 选项面板中默认第一个选项的标题

                                closable : false, // 不出现关闭小按钮

                                //自动载入内容,这里的内容是一个包含着IFRAMEJSP

                                autoLoad : {

                                                url : 'tabFrame.jsp?url=grid.html',

                                                callback : this.initSearch,

                                                scope : this

                                            }

     

                            }]

                });

     

        // 生成选项

        var index = 0;

        while (index < 7) {

            addTab();

        }

        function addTab() {

            tabs.add({

                        title : '新建tab' + (++index),

                        iconCls : 'tabs',//图标对应的CSS

                        html : '选项内容 ' + (index),

                        closable : true//

                    });

        }

    });

     

    这里我们把tabFrame.jsp的页面也列出来,实际上非常简单:

     

    <IFRAME SRC="<%=request.getParameter("url")%>" width="100%" height="100%" frameborder="0"></IFRAME>

    效果如下:

     

  • 相关阅读:
    linux sysfs (2)
    微软——助您启动云的力量网络虚拟盛会
    Windows Azure入门教学系列 全面更新啦!
    与Advanced Telemetry创始人兼 CTO, Tom Naylor的访谈
    Windows Azure AppFabric概述
    Windows Azure Extra Small Instances Public Beta版本发布
    DataMarket 一月内容更新
    和Steve, Wade 一起学习如何使用Windows Azure Startup Tasks
    现实世界的Windows Azure:与eCraft的 Nicklas Andersson(CTO),Peter Löfgren(项目经理)以及Jörgen Westerling(CCO)的访谈
    正确使用Windows Azure 中的VM Role
  • 原文地址:https://www.cnblogs.com/CharmingDang/p/9663752.html
Copyright © 2011-2022 走看看