Ext JS学习第十三天 Ext基础之 Ext.Element
----------------------------------------------------------------------------------------------------------------------------
Ext.onReady(function () {
Ext.create('Ext.panel.Panel', {
title: '我的面板',
width: '100%',
height: 400,
renderTo: Ext.getBody(),
html: '<div id=d1><span id=sp>我是sp的内容</span><div id=d2>我是d2的内容</div></div><input id=inp value=123 /><form id=f1><input name=uname value=bhx /><input name=pwd value=123 /></form>'
});
//查询系最常用的方法:
//Ext.dom.Element get fly getDom
var d1 = Ext.get('d1');
var sp = Ext.get('sp');
//查询系方法:
//1: contains:判断元素是否包含另一个元素
alert(d1.contains(sp));
alert(d1.contains('sp'));
//2: child:从元素的直接子元素中选择与选择符匹配的元素 (返回的只是一个元素,并不能返回数组) ,2个参数 第二个参数是可选的 如果为true表示取得的是原生的HTMLElement元素
var ch1 = d1.child('span'); //Ext.dom.Element
alert(ch.dom.innerHTML);
var ch2 = d1.child('span',true); //HTMLElement
alert(ch.innerHTML);
//3: down:选择与选择符匹配的元素的子元素//findParentNode、up:查找与简单选择符匹配的元素的父元素
var ch1 = d1.down('#d2');
alert(ch1.dom.innerHTML);
//4: first:选择元素第一个子元素 //last:选择元素的最后一个子元素
var f1 = d1.first('div');
alert(f1.dom.innerHTML);
//5: findParent:查找与简单选择符匹配的元素的父元素 //parent:返回元素的父元素
var parent = sp.findParent('div');
alert(parent.innerHTML);
//6: is:判断元素是否匹配选择符
alert(d1.is('div'));
//7: next:选择元素同层的下一个元素 //prew:选择元素同层的上一个元素
var next = sp.next();
alert(next.dom.nodeName);
//8: Ext.query:根据选择符获取元素 (Ext.dom.Element.query)
var arr = Ext.query('span','d1'); //HTMLElement[]
Ext.Array.each(arr , function(item){
alert(item.innerHTML);
});
//9: Ext.select/Ext.dom.Element.select:根据选择符获取元素集合
// 返回的都是元素集合: Ext.dom.CompositeElementLite(HTMLElemennt)/Ext.dom.CompositeElement(Ext.dom.Element)
// 参数说明: 3个参数 ,
// 1:selector 选择器 (不要使用id选择器)
// 2:返回的集合对象(boolean false:Ext.dom.CompositeElementLite true:Ext.dom.CompositeElement)
// 3: 指定的根节点开始查找
var list1 = Ext.select('span',false,'d1');//Ext.dom.CompositeElementLite
Ext.Array.each(list1.elements,function(el){
alert(el.innerHTML);
});
var list2 = Ext.select('span',true,'d1');//Ext.dom.CompositeElement
Ext.Array.each(list2.elements,function(el){
alert(el.dom.innerHTML);
});
//操作dom系的方法:
//1:appendTo:将当前元素追加到指定元素中(这2个元素都必须存在document里)
sp.appendTo(Ext.get('d2'));
sp.appendTo('d2');
//2:appendChild:在当前元素中追加元素
sp.appendChild('d2');
//3:createChild:在元素中插入由DomHelper对象创建的元素
sp.createChild({
tag:'ol' , //orderlist unorderlist
children:[
{tag:'li' ,html:'item1'},
{tag:'li' ,html:'item2'}
]
});
//4:inertAfter:将元素插入到指定元素之后
//5:inertBefore:将元素插入到指定元素之前
//6:inertSibling:在当前元素前或后插入(或创建)元素(同层)。
//7:insertHtml:在当前元素内插入HTML代码
//8:replace:使用当前元素替换指定元素
//9:replaceWith:使用创建的元素替换当前的元素
//10:remove:移除当前元素
sp.remove();
//11:wrap:创建一个元素,并将当前元素包裹起来。
sp.wrap('<h1></h1>');
//操作样式系的方法:
//1:addCls:增加CSS样式到元素,重复的样式会自动过滤
sp.addCls('red');
//2:applyStyles:设置元素的style属性
sp.applyStyles('backgroundColor:blue');
sp.applyStyles({backgroundColor:'yellow'});
//3:setStyle:为元素设置样式
sp.setStyle('backgroundColor','green');
sp.setStyle('fontSize','40px');
//4:getStyle:返回元素的当前样式和计算样式
alert(sp.getStyle('fontSize'));
alert(Ext.encode(sp.getStyle(['fontSize','backgroundColor'])));
//5:getStyleSize:返回元素的样式尺寸
alert(Ext.encode(sp.getStyleSize()));
//6:setOpacity:设置不透明度
var d2 = Ext.get('d2');
d2.setStyle('backgroundColor','red');
d2.setStyle('width','200px');
d2.setStyle('height','200px');
d2.setOpacity(.3); // 0~1
//7:addClsOnClick添加样式当点击该元素的时候
var d2 = Ext.get('d2');
d2.addClsOnClick('red');
//8:addClsOnOver添加样式当鼠标移动到元素上的时候
var d2 = Ext.get('d2');
d2.addClsOnOver('red');
//9:getMargin:返回值具有top、left、right、bottom属性的对象,属性值为响应的元素margin值。
var d2 = Ext.get('d2');
alert(d2.getMargin('b')); //r l t b
alert(Ext.encode(d2.getMargin()));
//10:removeCls:删除元素的样式
var d2 = Ext.get('d2');
d2.addCls('red'); //String/String[] className
d2.removeCls('red'); //String/String[] className
//11:尺寸、定位
var d2 = Ext.get('d2');
alert(Ext.encode(d2.getSize()));
alert(d2.getX());
alert(Ext.encode(d2.getXY()));
sp.moveTo(100,100);
//一:为元素添加事件
//1 : addKepMap:为元素创建一个KeyMap对象
var inp = Ext.get('inp');
inp.addKeyMap({ //Ext.util.KeyMap ====>Class
key:Ext.EventObject.A , //Ext.EventObject
ctrl:true ,
fn:function(){
alert('按ctrl+A ,执行!!');
} ,
scope:this
});
//2 : addKeyListener:为KeyMap绑定事件
//参数说明: String/Number/Number[]/Object key, Function fn, [Object scope]
// var inp = Ext.get('inp');
inp.addKeyListener({
key:Ext.EventObject.X ,
ctrl:false
},
function(){
alert('x执行了..');
},
this);
//二:元素绑定常用事件
var inp = Ext.get('inp');
inp.on('click',function(){
alert('执行了...');
});
inp.un('click');
inp.focus();
//三:其他重要且常用的方法:
var inp = Ext.get('inp');
var sp = Ext.get('sp');
//1: center:使元素居中
inp.center('d1');
//2: clean:清理空白的文本节点
//3: createShim:为元素创建一个iframe垫片保证选择或其他对象跨域时可见
//4: getLoader:返回ElementLoader对象//11: load:直接调用ElementLoader的load方法为元素加载内容
var loader = inp.getLoader(); //ElementLoader
loader.load({
url:'base/004_base06_dom2_loader.jsp' ,
renderer:function(loader ,response){
//把对象转换成字符串表示形式:Ext.encode
//把一个字符串转换成javascript对象: Ext.decode
var obj = Ext.decode(response.responseText);
Ext.getDom('inp').value = obj.name ;
}
});
//5: highlight 高亮显示特效
sp.highlight();
//6: show 、hide显示隐藏元素 //fadeIn、fadeOout淡入淡出
var d2 = Ext.get('d2');
d2.setStyle('width','100px');
d2.setStyle('height','100px');
d2.setStyle('backgroundColor','red');
d2.show({duration: 2000});
d2.hide({duration: 2000});
//7: ghost 元素移动特效
d2.ghost('b', { duration: 2000 }); // r/b/l/t
//8: slideIn、slideOut向上向下滑动
d2.slideIn('b',{duration: 2000});
d2.slideOut('r',{duration: 2000});
//9: getValue:如果元素有value属性,返回其值
alert(inp.getValue());
//10: normalize:将CSS属性中的连接符号去掉,例如将“font-size”转为fontSize这样。
//11 :mask:遮罩当前元素,屏蔽用户操作。 unmask:移除遮罩
Ext.getBody().mask('请稍等..');
// window.setTimeout(function(){
// Ext.getBody().unmask();
// },2000);
Ext.defer(function(){
Ext.getBody().unmask();
},2000);
//12: repaint:强迫浏览器重新绘画元素
//13: serializeForm:序列化为URL编码的字符串
alert(Ext.dom.Element.serializeForm('f1'));
//14: update:更新元素的innerHTML属性
//15: unselectable:禁用文本选择
inp.unselectable();
});
给各位推荐个文章网www.fishcmonkey.com,学习之余提高文学修养;
Ext JS学习第十三天 Ext基础之 Ext.Element的更多相关文章
- Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G
code&monkey Ext JS学习第十六天 事件机制event(一) 此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件 ...
- Ext JS学习第八天 Ext基础之 认识Ext.js 和Ext-more.js
此文来记录学习笔记: •认识Ext.js 和Ext-more.js •首先,我们要知道这2个js文件的作用,这俩个文件包含了Ext的一些基础定义.基本的属性和方法,我们要重点学习和深入底层代码进行研究 ...
- Ext JS学习第十二天 Ext基础之操作dom ; get与fly 方法
此文用来记录学习笔记 •嗯!首先,什么是DOM(Document Object Model) –W3C对DOM的定义:文档对象模型是一个平台,一个中立于语言的应用程序编程接口(API),允许程序访问并 ...
- Ext JS学习第九天 Ext基础之 扩展原生的javascript对象
此文来记录学习笔记: •Ext对于原生的javascript对象进行了一系列的扩展,我们把他们掌握好,更能深刻的体会Ext的架构,从而对我们的web开发更好的服务, 源码位置,我们可以从开发包的这个位 ...
- Ext JS学习第十天 Ext基础之 扩展原生的javascript对象(二)
此文来记录学习笔记: 今天继续说Ext.Array,Ext.Function,Ext.Date,Ext.Error ------------------------------------------ ...
- Ext JS学习第十五天 Ext基础之 Ext.DomQuery
此文同来记录学习笔记 •Ext.dom.Query 嗯,这个类一看就是到时做什么事儿的,不用我去过多的解释了.这个类一共提供了8个方法供开发人员去使用. •要说最常用的方法,无非就是Ext.query ...
- Ext JS学习第五天 Ext_window组件(一)
此文来记录学习笔记 •第一个组件:Ext.window.Window.对于组件,也就是Ext最吸引开发者的地方,那么我们要真正的使用Ext的组件,首先必须学会阅读API文档. –xtype:组件的别名 ...
- EXt js 学习笔记总结
1. get . fly. getCmp .getBody .getDoc .getDom.. get-----ExtJs获取节点.dom.提供缓存机制 Ext.Element类是Ext对DO ...
- Ext JS学习第六天 Ext_window组件(三)
此文用来记录学习笔记: 今天再来一个例子巩固一下学习的window: –例2: 在window中添加子组件,并讲解常用查找组件的方式: •重点分析:该实例主要针对于组件的查找进行详细的讲解,在以后的应 ...
随机推荐
- 在sqlite中使用索引
出处: 网络 1)Sqlite不支持聚集索引,android默认需要一个_id字段,这保证了你插入的数据会按“_id”的整数顺序插入,这个integer类型的主键就会扮演和聚集索引一样的角色.所以不要 ...
- junit的安装和使用
一.junit的安装: junit-4.11.jar: http://www.java2s.com/Code/Jar/j/Downloadjunit411jar.htm hamcrest-core.j ...
- .net中不能在DropDownList中选中多个项的解决方法
页面中放有多个DropDownList,点击修改时候,需要根据值来设置两个DropDownList的选中项,当值为空时则需要选中默认值. 页面报错:不能在DropDownList中选中多个项. 直接粘 ...
- ESX与ESXi管理员必备25个命令
[转载] 正 如所有的虚拟化管理员都知道,要应对VMware基础设施上需要的更多虚拟化管理,关键在于任务的自动化.虽然VMware ESX主机可以管理与vSphere客户端用户界面,数据中心管理员往往 ...
- SMT贴片机抛料的成因和回流焊横向温差问题
SMT贴片机抛料的主要原因分析 在SMT生产过程中,怎么控制生产成本,提高生产效率,是企业老板及工程师们很关心的事情,而这些跟SMT贴片机的抛料率有很大的联系,以下就谈谈SMT贴片机的抛料问题. 所谓 ...
- Qt实现嵌入桌面的半透明窗口 good
这儿用上了前面一文提到的函数findDesktopIconWnd().见: http://mypyg.blog.51cto.com/820446/263349 一.将Qt窗口嵌入到桌面中.声明一个最简 ...
- oracle rman异机恢复
Oracle源主机 Oracle目标主机 主机平台 CentOS6.2(final) CentOs6.2(FInal) 主机名 vick rman IP地址 192.168.1.11 192.16 ...
- pkg-config的用法
pkg-config的用法 pkg-config pkg-config程序是干什么用的?简单的说就是向用户向程序提供相应库的路径.版本号等信息的程序. 譬如说我们运行以下命令:pkg-config ...
- 全国三级城市联动 js版
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JS提取URL中的参数
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> ...