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中添加子组件,并讲解常用查找组件的方式: •重点分析:该实例主要针对于组件的查找进行详细的讲解,在以后的应 ...
随机推荐
- linux杂记(⑨)vi使用说明
基本上vi共分为三种模式,分别是[一般模式]].[编辑模式]与[指令列命令模式].这三种模式的作用是: 一般模式:以vi处理一个档案的时候,一进来该档案就是一般模式.在这个模式中,你可以使用[上下左右 ...
- jquery.qrcode二维码插件生成彩色二维码
jquery.qrcode.js 是居于jquery类库的绘制二维码的插件,用它来实现二维码图形渲染支持canvas和table两种绘图方式. (jquery.qrcode.js 设置显示方式为tab ...
- Codeigniter使用phpexcel
1. 去 http://phpexcel.codeplex.com/ 下载phpexcel源码,解压缩后把phpexcel/Classes里的PHPExcel文件夹和PHPExcel.php复制到CI ...
- PCRE兼容正则表达式函数
1.preg_grep()函数 函数语法: array preg_grep ( string pattern, array input ) 函数功能: 使用数组input中的元素一一匹配表达式patt ...
- [LeetCode]题解(python):138-Copy List with Random Pointer
这道题目不是太懂,参考了http://www.cnblogs.com/zuoyuan/p/3745126.html的博客. 题意: A linked list is given such that e ...
- 原理图产生网络表后导进PADS之后,网络乱了的问题
问题描述:在Orcad中生成的网络表(格式.ASC),导进PADS9.2中(PADS9.2中已有一些元器件),结果报Mixing nets,如下图示. 仔细检查原理图中的这些nets,发现有的有错,有 ...
- 当cpu飙升时,找出php中可能有问题的代码行
参考大牛: http://www.searchtb.com/2014/04/%E5%BD%93cpu%E9%A3%99%E5%8D%87%E6%97%B6%EF%BC%8C%E6%89%BE%E5%8 ...
- WebGL是一种3D绘图标准,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起
WebGL是一种3D绘图标准,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTM ...
- Noip2013心态调整
决定成绩的,很多时候可能不是实力,而是心态,一年走来,承受着一次次失败,怀疑,背负着希望与压力,突然发现,只有拥有过,失去过,才可以真正去超越,我希望完成我的梦想,但是唯有放下梦想,才可以走向它. 心 ...
- iPhone 6 为何坚持1GB内存?
原文地址:http://digi.ifeng.com/expert/special/96/#6467378-qzone-1-9015-46cf52f061fd6e814686a918cedcb024 ...