javascript代码实例教程-JavaScript开发指南之Extjs使用技巧

发布时间:2019-01-15 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了javascript代码实例教程-JavaScript开发指南之Extjs使用技巧脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。

JavaScript开发指南之Extjs使用技巧。

Ext.onReady(function(){

//创建一个新的组件

Ext.create('Ext.window.Window',{

tITle:'nihao',

height:400,

width:200,

layout:'fit',

constrain:true,//限制窗口不超出浏览器

renderTo:Ext.getBody()//新创建的组件渲染到什么位置

}).show();

});

ConstraintHeader:不允许标题的窗口超出浏览器边界.

Modal:指定是不是模态窗口

autoScroll:滚动条

icon:通标(加图片路径)

iconCls:图片样式

Draggable:false,//不允许拖拽

resizable:false,//不允许改变大小

closable:false,//不显示关闭按钮

items:[//添加子组件

{

xtyPE:'panel',

width:'40%',

height:120,

htML:'我是面板'

},

{

xtype:'button',

text:'按钮',

handler:function(BTn){

alert(btn.text)

}

}],

tbar://表示向当前组件中的top位置添加工具条

[

{},

{}

],

Bbar:[{},{}]//在窗体底部添加状态栏

lbar:[{},{}]//在窗体左部添加状态栏

rbar:[{},{}]//在窗体右添加状态栏

fbar:[{},{}]//在窗体最最底部添加状态栏

凡是组件都会有up与down方法分别是查找父组件与查找子组件

Ext.getCom(‘id’)//通过id获取组件

xxx.ownerCt取这一级元素的上一级元素

Ext.onReady(function(){

//ex003:用windowGroup对象去操作多个window窗口

VAR wingroup = new Ext.WindowGroup();

for(var i = 1 ; i <=5;i++){

var win =Ext.create('Ext.Window',{

title:'第' + i + '个窗口' ,

id:'win_' + i ,

width:300 ,

height:300 ,

renderTo:Ext.getBody()

});

win.show();

wingroup.register(win); //把窗体对象注册给ZindeXManger

}

var btn1 =Ext.create('Ext.button.Button',{

text:'全部隐藏' ,

renderTo:Ext.getBody(),

handler:function(){

wingroup.hideAll(); //隐藏所有被管理起来的window组件

}

});

var btn2 = new Ext.button.Button({

text:'全部显示' ,

renderTo:Ext.getBody(),

handler:function(){

wingroup.each(function(cmp){

cmp.show();

});

}

});

var btn3 = new Ext.button.Button({

text:'把第三个窗口显示在最前端' ,

renderTo:Ext.getBody(),

handler:function(){

wingroup.bringToFront('win_3');//把当前的组件显示到最前端

}

});

var btn4 = new Ext.button.Button({

text:'把第五个窗口显示在最末端' ,

renderTo:Ext.getBody(),

handler:function(){

wingroup.sendToBack('win_5'); //把当前的组件显示到最后

}

});

});

config:配置项就是配置当前配置项的属性内容,并且会自动加上get与set 方法,

Ext中定义一个类

Ext.define(‘Person’,{

Config://用config定义参数这样的话就自动生成了get与set 方法

{

Name:’DFas’,

Age:’ds’

}

Say:function(){

Alert(我是方法)

}

Constructor:function(config){

Var me=this

Me.initConfig(config);//通过构造函数初始化参数

}

});

Ext底层继承得javaScript实现

Ext静态块

Ext:requires,uses,singlon

Ext.apply&amp;Ext.applyIf

Ext方法覆盖

//Ext对原生javascript对象的扩展

//提示信息

/* Ext.MessageBox.alert('我是标题!' , 'Hello World!' , function(){

console.info(this);

alert('我是回调函数!');

} ,this);

Ext.Msg.alert('提示信息','ExtJS!!!');*/

//询问

Ext.Msg.confirm('提示信息','确认删除该条记录么?',function(op){

// yes on

if(op == 'yes'){

alert('确认了!');

}else{

alert('取消了!');

}

});

//输入框

//String title, String msg,[Function fn], [Object scope], [Boolean/Number multiline], [String value]

Ext.Msg.prompt('我是标题!','请输入姓名:' , function(op, val){

//op ok cancel

console.info(op);

console.info(val);

} , this , true , '张三');

//等待框也就是我们所说的进度

Ext.Msg.wait('提示信息','我是内容' ,{

interval:400, //循环定时的间隔

duration:2000, //总时长

increment:5, //执行进度条的次数

text:'更新中,请稍后...', //进度条上的文字

scope:this,

fn:function(){

alert('更新成功!');

},

aniMATE:true //更新渲染时提供一个动画效果

});

//show方法

Ext.Msg.show({

title:'我是自定义的提示框!!' ,

msg:'我是内容!!' ,

width:300 ,

height:300 ,

buttons:Ext.Msg.YESNOCANCEL ,

icon:Ext.Msg.WARNING // ERROR INFO QUESTIONWARNING

});

// 第二个作用: 通常用于递归操作

// arguments.callee 表示引用当前函数本身

function fact(number){

if(number <= 1){

return 1 ;

}else{

returnnumber*arguments.callee(number-1);

}

};

// This 关键字在javascript里的使用

//this关键字总是指向调用者,谁调用函数,this就指向谁

var x = 5; // window.x = 5 ;

function test(){

alert(this.x);

};

test.x = 10;

window.test();

// call apply 主要作用是绑定作用域

var color = 'red';

var obj = {color:'yellow'};

//

function showColor(x,y,z){

alert(x+y+z);

alert(this.color);

};

//// call、apply 绑定一个函数,到你指定的作用域内执行

showColor.call(obj,10,20,30);

showColor.apply(obj,[2,3,4]);

//定义了一个js的类

var Person = function(name , age){

this.name = name ;

this.age = age ;

// PRivate

var _sex = '男'; //js的私有属性

this.getSex = function(){

return _sex ;

};

this.setSex = function(sex){

_sex= sex ;

};

};

//单体模式: 闭包单体

var SXT = (function(){

var Array = {

each:function(){

alert('each...');

}

};

return {

arrayEach:function(){

Array.each();

}

};

})();

SXT.arrayEach();

Ext.onReady(function(){

//Ext.create方法相当于创建一个实例对象

Ext.create('Ext.window.Window',{

title:'我的第一个组件,window' ,

width:400, //Number型 也可以是字符串类型 width: '90%'

height:300,

layout:'fit' ,

constrain:true , //限制窗口不超出浏览器边界

modal:true , //设置一个模态窗口

//plain:true ,

icon:'js/extjs/icons/used/browser_window.png',//字符串参数,图片的路径

//iconCls:'' , //CSS样式

x:50,

y:50,

autoScroll:true, //添加滚动条

html:'

我是一个p我是第二个p' ,

constrainHeader:true, //不允许该窗口的title超出浏览器边界

renderTo:Ext.getBody() //新创建的组件渲染到什么位置

}).show();

});

var btn = Ext.get('btn');//这个元素是经过Ext包装的一个Ext的Dom对象//alert(btn.dom.value);

btn.on('click',function(){

if(!Ext.getCmp(';mywin')){

Ext.create('Ext.window.Window',{

id:'mywin' , //如果你给组件加了一个id 那么这个组件就会被Ext所管理

title:'新窗体' ,

height:300,

width:400,

renderTo:Ext.getBody()//,

//modal:true

}).show();

}

});

//第二种实现

var win = Ext.create('Ext.window.Window',{

title:'新窗体' ,

height:300,

width:400,

renderTo:Ext.getBody(),

closeAction:'hide' //closeAction默认是destroy

});

Ext.get('btn').on('click',function(){

win.show();

});

//ex002 : 在组件中添加子组件 ,并进行一系列针对于组件的操作

//在组件中添加子组件:

var win = new Ext.window.Window({

title:"添加子组件实例" ,

width:'40%' ,

height:400,

renderTo:Ext.getBody(),

draggable:false , //不允许拖拽

resizable:false , //不允许改变窗口大小

closable:false, //不显示关闭按钮

collapsible:true , //显示折叠按钮

bodyStyle:'background:#ffc; padding:10px;' , // 设置样式

html:'我是window的内容!!' ,

//Ext items(array) //配置子组件的配置项

items:[{

//Ext的组件给我们提供了一个简单的写法 xtype属性去创建组件

xtype:'panel',

width:'50%',

height:100,

html:'我是面板'

},

new Ext.button.Button({

text:'我是按钮' ,

handler:function(){

alert('执行!!');

}

})

{

xtype:'button' ,

text:'我是按钮',

handler:function(btn){

alert('我被点击了');

alert(btn.text);

}

}

]

});

win.show();

var win = new Ext.Window({

id:'mywin' ,

title:'操作组件的形式' ,

width:500,

height:300,

renderTo:Ext.getBody(),

//表示在当前组件的top位置添加一个工具条里面默认的都是按钮

tbar:[{ //bbar(bottom)lbar(leftbar) rbar(rightbar) fbar(footbar)

text:'按钮1' ,

handler:function(btn){

//组件都会有 up、down 这两个方法(表示向上、或者向下查找) 需要的参数是组件的xtype或者是选择器

alert(btn.up('window').title);

}

},{

text:'按钮2' ,

handler:function(btn){

//最常用的方式

alert(Ext.getCmp('mywin').title);

}

},{

text:'按钮3' ,

handler:function(btn){

//以上一级组件的形式去查找 OwnerCt

//console.info(btn.ownerCt);

alert(btn.ownerCt.ownerCt.title);

}

}]

});

win.show();

//ex003:用windowGroup对象去操作多个window窗口

var wingroup = new Ext.WindowGroup();

for(var i = 1 ; i <=5;i++){

var win = Ext.create('Ext.Window',{

title:'第' + i + '个窗口' ,

id:'win_' + i ,

width:300,

height:300,

renderTo:Ext.getBody()

});

win.show();

wingroup.register(win); //把窗体对象注册给ZindexManger

}

var btn1 = Ext.create('Ext.button.Button',{

text:'全部隐藏' ,

renderTo:Ext.getBody(),

handler:function(){

wingroup.hideAll(); //隐藏所有被管理起来的window组件

}

});

var btn2 = new Ext.button.Button({

text:'全部显示' ,

renderTo:Ext.getBody(),

handler:function(){

wingroup.each(function(cmp){

cmp.show();

});

}

});

var btn3 = new Ext.button.Button({

text:'把第三个窗口显示在最前端' ,

renderTo:Ext.getBody(),

handler:function(){

wingroup.bringToFront('win_3'); //把当前的组件显示到最前端

}

});

var btn4 = new Ext.button.Button({

text:'把第五个窗口显示在最末端' ,

renderTo:Ext.getBody(),

handler:function(){

wingroup.sendToBack('win_5'); //把当前的组件显示到最后

}

});

//在Ext中如何去定义一个类: Ext.define(classname , properties , callback)

Ext.define('Person',{

//这里是对于这个类的一些配置信息

//config属性就是配置当前类的属性内容,并且会加上get和set方法

config:{

name:'z3' ,

age:20

},

//自己定义的方法

say:function(){

alert('我是方法...');

},

//给当前定义的类加一个构造器 ,目的就是为了初始化信息

constructor:function(config){

var me = this ;

// for(varattr in config){

// alert(attr+ " : " + config[attr]);

// }

me.initConfig(config); // 真正的初始化传递进来的参数

}

});

觉得可用,就经常来吧! 脚本宝典 欢迎评论哦! js脚本,巧夺天工,精雕玉琢。小宝典献丑了!

脚本宝典总结

以上是脚本宝典为你收集整理的javascript代码实例教程-JavaScript开发指南之Extjs使用技巧全部内容,希望文章能够帮你解决javascript代码实例教程-JavaScript开发指南之Extjs使用技巧所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。