初识EXTjs(01)

ps:在js中,函数与匿名函数的区别:函数有名字,以为着下次可以方便的调用;函数没有名字 叫匿名函数,匿名函数一般只是调用一次,后续不在使用。

进入正题:

应用ExtJs

应用extjs需要在页面中引入extjs的样式及extjs库文件。样式文件为resources/css/ext-all.css,extjs的js库文件主要包含两个:adapter/ext/ext-base.js及ext-all.js。其中ext-base.js表示框架基础库,ext-all.js是extjs的核心库。Adapter表示适配器,也就是说可以有多种适配器,因此可以把adapter/ext/ext-base.js换成adapter/jquery/ext-jquery-adapter.js,或adapter/prototype/ext-prototype-adapter.js等。

一个要使用extjs框架的页面中一般要包括下面几句:

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

<script  type=”text/javascript” src=”extjs/adapter/ext/ext-base.js”></script>

<script  type=”text/javascript” src=”extjs/ext-all.js”></script>

在ExtJs库文件及页面内容加载完后,ExtJs会执行Ext.onReady中指定的函数。一般情况下用户的ExtJs应用都是从Ext.onReady开始的,使用ExtJs应用程序的代码大致如下:

<script>

Function fn()

{

  Alert(‘ExtJs 库以加载’);

}

Ext.onReady(fn);

</script>

Fn也可以写成一个匿名函数的形式,因此上面的代码也可以改成下面的形式。

<script>

Ext.onReady(function()

{

   Alert(‘ExtJs库已加载’);

});

</script>

下边是初步了解引用配置之后的代码demo
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">  
<html>  
    <head>  
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
        <title>树形结构</title>  
        <script type="text/javascript" src="/gtss/plugin/ext-4.2/ext-all-4.2.1.js"></script>  
        <script type="text/javascript" src="/gtss/scripts/ext/ext-base.js"></script>
        <script type="text/javascript" src="/gtss/webapp/js/bootstrap.js"></script>          
        <script type="text/javascript" src="/gtss/plugin/ext-4.2/ext-lang-4.2.1-zh_CN.js"></script>  
        <link href="/gtss/plugin/ext-theme-classic/ext-theme-classic-all.css" rel="stylesheet" type="text/css" >  
      

 
<script type="text/javascript">  
    Ext.onReady(function(){  
        var northItem={  
            region:'north',//如果采用border布局,这个项一定要有  
            html:'<div style="background-color:#00aacc;color:#ffffff;font-size:30px;">预留的logo位置?</div>'   
           /*  region:'north',
            html:'' */
        }; 
      /*   var toolbar = new Ext.toolbar.Toolbar({
        	renderTo:Ext.getbody(),
        	width:500
        }); */
        //树状图  
        var store=Ext.create('Ext.data.TreeStore',{  
            root:{//树状图有且只有一个树根  
                expanded:true,//这树状图是可以打开叶子的  
                children:[  
                {  
                    text:'大项目1',  
                    expanded:true,  
                    children:[  
                    {  
                        id:1,//为下面的监听事件所使用,且ID为1  
                        text:'项目1',  
                        leaf:true//表明这里是叶子,不再向下延伸,同时为下面的监听器所操作  
                    },  
                    {  
                        id:2,  
                        text:'项目2',  
                        leaf:true  
                    },  
                    {  
                        id:3,  
                        text:'项目3',  
                        leaf:true  
                    }  
                    ]  
                },  
                {  
                    text:'大项目2',  
                    expanded:true,  
                    children:[  
                    {  
                        id:4,  
                        text:'项目4',  
                        leaf:true  
                    },  
                    {  
                        id:5,  
                        text:'项目5',  
                        leaf:true  
                    }  
                    ]  
                }  
                ]  
            }  
        });  
        var westItem={  
            region:'west',  
            xtype:'treepanel',  
            store:store,//添加树状图  
            width:100,//这里一定要设置好宽度,否则不显示  
            rootVisible:false,//不显示树根  
            split:true,//可以自己调整其大小  
            collapsible:true,//可以折叠  
            listeners:{  
                //如果项被点击的话  
                itemclick:function(view,record,item){  
                    //如果是叶子,对应上面的leaf==true  
                    if(record.data.leaf){  
                        //如果没有与当前点击项目id相同的的标签页的话  
                        if(!Ext.getCmp(record.data.id)){  
                            //则新建一个与当前点击项目id相同的的标签页  
                            Ext.getCmp("centerItem").add({  
                                id:record.data.id,  
                                title:record.data.text,  
                                html:Ext.util.Format.date(new Date(),'H时i分s秒')+"",  
                                listeners:{ 
                                    //为这个标签页的关闭增加监听事件  
                                    removed:function(){  
                                        //在状态栏中删除原有的信息,添加新的操作信息  
                                        Ext.getCmp("southItem").removeAll();  
                                        Ext.getCmp("southItem").add({html:'关闭了:'+record.data.text+"!"});  
                                    },  
                                    activate:function(){  
                                        Ext.getCmp("southItem").removeAll();  
                                        Ext.getCmp("southItem").add({html:'点击了:'+record.data.text+"!"});  
                                    }},                                   
                                closable:true//允许关闭,同时新建关闭按钮  
                            });  
                        }  
                        //有没有这个标签页都激活这个标签页  
                        Ext.getCmp("centerItem").setActiveTab(record.data.id);  
                        //然后在状态栏中删除原有的信息,添加新的操作信息  
                        Ext.getCmp("southItem").removeAll();  
                        Ext.getCmp("southItem").add({html:'点击了:'+record.data.text+"!"});  
                    }  
                }  
            }  
        };  
        var southItem={  
            region:'south',  
            xtype:'panel',  
            id:'southItem',  
            title:'预留地址显示的空间',  
            collapsible:true//可以折叠  
            /* region:'south',
            html:'' */
        };  
        var eastItem={  
            region:'east',  
            html:''

        };  
        var centerItem={  
            region:'center',  
            id:'centerItem',  
            xtype:'tabpanel'              
        };  
        Ext.create('Ext.container.Viewport',{  
            layout:'border',  
            renderTo:Ext.getBody(),  
            items:[northItem,westItem,southItem,eastItem,centerItem]  
        });  
    });  
</script>
</head>
<body>
	<!-- <div id="BorderLayout" style="padding: 10px 0px; clear: both"></div> -->
</body>
</html>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值