ext学习资料

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

ExtJs2.0学习系列(1)--Ext.MessageBox1.Ext.MessageBox.alert()方法有四个参数,为简单起见,主要介绍前面三个参数:alert(title,msg,function(){})其中title,msg为必选参数,function为可选参数,在关闭弹出窗口后触发。Ext.MessageBox.alert(title,msg);Ext.MessageBox.alert(title,msg,function(){alert(关闭对话框后弹出!)});2.Ext.MessageBox.confirm()方法基本上同alert()方法一模一样。注意这点:Ext.MessageBox.confirm(title,msg,function(e){alert(e);});这个参数e是什么?它是你点击的弹出框的按钮的值,三种值:yes,no,cancel.Alert()方法也是如此,不过只有两种值:ok,cancel.3.Ext.MessageBox.prompt()方法有六个参数,比前面alert方法多一个返回值和是否多行。Ext.MessageBox.prompt(title,msg);Ext.MessageBox.prompt(title,msg,function(e,text){alert(e+-+text);});//输入qianxudetianxia,点击ok按钮,弹出ok-qianxudetianxiaExt.MessageBox.prompt(title,msg,function(e,text){alert(e+-+text);},this,true);//true为多行,this表示作用域4.Ext.MessageBox.show()方法功能很强大,采用config配置形式,比前面的方法使用更方便。参数很多,在此列举最常用的配置参数:1.animEl:对话框弹出和关闭时的动画效果,比如设置为“id1”,则从id1处弹出并产生动画,收缩则相反2.buttons:弹出框按钮的设置,主要有以下几种:Ext.Msg.OK,Ext.Msg.OKCANCEL,Ext.Msg.CAMCEL,Ext.Msg.YESNO,Ext.Msg.YESNOCANCEL你也可以自定义按钮上面的字:{ok,我本来是ok的}。若设为false,则不显示任何按钮.3.closable:如果为false,则不显示右上角的小叉叉,默认为true。4.msg:消息的内容5.title:标题6.fn:关闭弹出框后执行的函数7.icon:弹出框内容前面的图标,取值为Ext.MessageBox.INFO,Ext.MessageBox.ERROR,Ext.MessageBox.WARNING,Ext.MessageBox.QUESTION8.width:弹出框的宽度,不带单位9.prompt:设为true,则弹出框带有输入框10.multiline:设为true,则弹出框带有多行输入框11.progress:设为true,显示进度条,(但是是死的)12.progressText:显示在进度条上的字13.wait:设为true,动态显示progress14.waitConfig:配置参数,以控制显示progressexample:Ext.MessageBox.show({title:标题,msg:内容的消息,buttons:{ok:我不再显示OK了},fn:function(e){alert(e);},animEl:test1,width:500,icon:Ext.MessageBox.INFO,closable:false,progress:true,wait:true,progressText:进度条//prompt:true//multiline:true});4.Ext.MessageBox.show()中的进度条的使用首先必须知道例外两个方法Ext.MessageBox.hide()和Ext.MessageBox.updateProgress(value,ProgressText,msg)(三个参数,看名字就知道意思),注意value为0-1之间的数,表示进度条的进度.第一种:(通过进度的大小控制进度,满进度为1)Ext.get(btn1).on(click,function(){Ext.MessageBox.show({title:df,msg:dfd,progress:true,width:300,closable:true});varf=function(v){returnfunction(){if(v==12){Ext.MessageBox.hide();//alert(加载完成!);}else{vari=v/11;Ext.MessageBox.updateProgress(i,Math.round(100*i)+%completed,i);}}}for(vari=1;i13;i++){setTimeout(f(i),i*500);//从点击时就开始计时,所以500*i表示每500ms就执行一次}});第二种:(通过固定时间控制进度加载)Ext.get(btn1).on(click,function(){Ext.MessageBox.show({title:时间进度条,msg:5s后关闭进度框,progress:true,width:300,wait:true,waitConfig:{interval:600},//0.6s进度条自动加载一定长度closable:true});setTimeout(function(){Ext.MessageBox.hide()},5000);//5后执行关闭窗口函数}最后关于那个waitConfig的参数,在此说明下:1.interval:进度的频率2.duration:执行进度的持续时间,超过这个时间后,interval失效,不再产生进度效果,但进度狂也不会消失。3.fn:duration的时间到后执行的函数所以,上面的通过时间控制进度另外一种写法为:Ext.get(btn1).on(click,function(){Ext.MessageBox.show({title:时间进度条,msg:5s后关闭进度框,progress:true,width:300,wait:true,waitConfig:{interval:600,duration:5000,fn:function(){Ext.MessageBox.hide();//让进度条消失}},closable:true});//setTimeout(function(){Ext.MessageBox.hide()},5000);});效果一样。ExtJs2.0学习系列(2)--Ext.Panel今天介绍extjs中的Panel组件。//html代码divid=container/div//js代码varp=newExt.Panel({title:'MyPanel',//标题collapsible:true,//右上角上的那个收缩按钮,设为false则不显示renderTo:'container',//这个panel显示在html中id为container的层中width:400,height:200,html:p我是内容,我包含的html可以被执行!/p//panel主体中的内容,可以执行html代码});因为panel组件的子类组件包括TabPanel,GridPanel,FormPanel,TreePanel组件,所以非常有必要介绍Panel组件的配置参数和相关的属性、方法。//配置参数(只列举部分常用参数)1.autoLoad:有效的url字符串,把那个url中的body中的数据加载显示,但是可能没有样式和js控制,只是html数据2.autoScroll:设为true则内容溢出的时候产生滚动条,默认为false3.autoShow:设为true显示设为x-hidden的元素,很有必要,默认为false4.bbar:底部条,显示在主体内,//代码:bbar:[{text:'底部工具栏bottomToolbar'}],5.tbar:顶部条,显示在主体内,//代码:tbar:[{text:'顶部工具栏topToolbar'}],6.buttons:按钮集合,自动添加到footer中(footer参数,显示在主体外)//代码:buttons:[{text:按钮位于footer}]7.buttonAlign:footer中按钮的位置,枚举值为:left,right,center,默认为right8.collapsible:设为true,显示右上角的收缩按钮,默认为false9.draggable:true则可拖动,但需要你提供操作过程,默认为false10.html:主体的内容11.id:id值,通过id可以找到这个组件,建议一般加上这个id值12.width:宽度13.height:高度13.title:标题14.titleCollapse:设为true,则点击标题栏的任何地方都能收缩,默认为false.15.applyTo:(id)呈现在哪个html元素里面16.contentEl:(id)呈现哪个html元素里面,把el内的内容呈现17.renderTo:(id)呈现在哪个html元素里面//关于这三个参数的区别(个人认为:applyTo和RenderTo强调to到html元素中,contentEl则是html元素到ext组件中去):1.可拖动的panel实例下面我们做个可拖动panel例子来熟悉下panel这个最基本的组件.//html代码..无..//下面创建一个允许拖动的panel,但是拖动的结果不能保存varp=newExt.Panel({title:'Dragme',x:100,y:100,renderTo:Ext.getBody(),//x,y,renderTo:Ext.getBody()初始化panel的位置floating:true,//trueframe:true,//圆角边框width:400,height:200,draggable:true}).show();//在这里也可以不show()但是还不能拖到其他的地方,我们需要改写draggable:draggable:{insertProxy:false,//拖动时不虚线显示原始位置onDrag:function(e){varpel=this.proxy.getEl();this.x=pel.getLeft(true);this.y=pel.getTop(true);//获取拖动时panel的坐标},endDrag:function(e){this.panel.setPosition(this.x,this.y);//移动到最终位置}}实现了可保存的拖动,如图:拖动的时候阴影还在原位置,我们再在draggable中的onDrag事件中添加代码:vars=this.panel.getEl().shadow;if(s){s.realign(this.x,this.y,pel.getWidth(),pel.getHeight());}//shadow的realign方法的四个参数,改变shadow的位置大小属性最后这个可拖动的panel的代码为:varp=newExt.Panel({title:'Dragme',x:100,y:100,renderTo:Ext.getBody(),floating:true,frame:true,width:400,height:200,draggable:{insertProxy:false,onDrag:function(e){varpel=this.proxy.getEl();this.x=pel.getLeft(true);this.y=pel.getTop(true);vars=t

1 / 66
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功