1

一、获取元素(Getting Elements)

1. Ext.get()

var el = Ext.getCmp('id');//获取元素,等同于document.getElementById('id');//会缓存 

2. Ext.fly()

var el = Ext.fly('id')//不会缓存。 

注:享元模式(Flyweight Design Pattern)是一种节省内存的模式,该模式的大概原理是建立单个全体对象然后不断反复使用它。

3. Ext.getDom()

var dom1 = Ext.getDom('id');     // 依据id来查dom节点 
var dom2 = Ext.getDom(element);  // 依据元素来查dom节点 

二、操作class类名

1、addClass()

Ext.fly('id').addClass('className'); // 加入元素的'className'的样式 

2、removeClass()

Ext.fly('id').removeClass('className'); // 删除class  

3、toggleClass()

Ext.fly('id').toggleClass('className'); // 切换删除添加类名 

4、replaceClass()

Ext.fly('id').replaceClass('className1', 'className2');//替换样式     

5、radioClass()

Ext.fly('id').radioClass('className');   //添加一个或多个className到这个元素,并移除其他兄弟节点上的相同类名。    

6、hasClass()

if (Ext.fly('id').hasClass('className')) { //当含有该样式返回true 
     
} 

7、getStyle()

var width = Ext.fly('id').getStyle('width');//返回该元素的统一化当前样式和计算样式。 
var height = Ext.fly('id').getStyle('height');//返回该元素的统一化当前样式和计算样式。 

8、setStyle()

Ext.fly('id').setStyle({ 
     display : 'block', 
     overflow : 'hidden', 
     cursor : 'pointer' 
});//设置元素的样式,也可以用一个对象参数包含多个样式。 

9、getColor()

Ext.fly('id').getColor('color');//为指定的CSS属性返回CSS颜色 

10、setOpacity()

Ext.fly('id').setOpacity(.45, true);//设置元素的透明度。 

11、clearOpacity

Ext.fly('id').clearOpacity();//清除这个元素的透明度设置 

三、定位(position)

1、getX

//返回元素相对于页面坐标的X位置。元素必须是属于DOM树中的一部分才拥有正确的页面坐标(display:none            或未加入的elements返回false)。 
var pageX = Ext.fly('id').getX() 

2、getY

//返回元素相对于页面坐标的Y位置。元素必须是属于DOM树中的一部分才拥有正确的页面坐标(display:none或未加入的elements返回false)。 
var pageY = Ext.fly('id').getY() 

3、getXY

//返回元素当前页面坐标的位置。元素必须是属于DOM树中的一部分才拥有正确的页面坐标(display:none或未加入的elements返回false)。 
var arrayXY = Ext.fly('id').getXY() // arrayXY是数组 

4、setX

//返回元素相对于页面坐标的X位置。元素必须是属于DOM树中的一部分才拥有正确的页面坐标(display:none或未加入的elements返回false)。 
Ext.fly('id').setX(10) 

5、setY

//返回元素相对于页面坐标的Y位置。元素必须是属于DOM树中的一部分才拥有正确的页面坐标(display:none或未加入的elements返回false)。
Ext.fly('id').setY(10)

6、setXY

//返回元素当前页面坐标的位置。元素必须是属于DOM树中的一部分才拥有正确的页面坐标(display:none或未加入的elements返回false)。 
Ext.fly('id').setXY([20,10]) 

7、getOffsetsTo

//返回当前元素与送入元素的距离。这两个元素都必须是属于DOM树中的一部分才拥有正确的页面坐标(display:none或未加入的elements返回false)。 
var offsets = Ext.fly('id').getOffsetsTo(anotherEl); 

8、getLeft

//获取左边的X坐标。 
var left = Ext.fly('id').getLeft(); 

9、getRight

//获取元素右边的X坐标(元素X位置 + 元素宽度)。 
var right = Ext.fly('id').getRight(); 

10、getTop

//获取顶部Y坐标。 
var top = Ext.fly('id').getTop(); 

11、getBottom

//获取元素的底部Y坐标(元素Y位置 + 元素宽度)。 
var bottom = Ext.fly('id').getBottom(); 

12、setLeft

//直接使用CSS样式(代替setX()),设定元素的left位置。 
Ext.fly('id').setLeft(25) 

13、setRight

//设置元素CSS Right的样式。 
Ext.fly('id').setRight(15) 

14、setTop

//直接使用CSS样式(代替setY()),设定元素的top位置。 
Ext.fly('id').setTop(12) 

15、setBottom

//设置元素CSS Bottom的样式。 
Ext.fly('id').setBottom(15) 

16、setLocation

//无论这个元素如何定位,设置其在页面的坐标位置。元素必须是DOM树中的一部分才拥有页面坐标(display:none或未加入的elements会当作无效而返回false)。 
Ext.fly('id').setLocation(15,32) 

17、moveTo

//无论这个元素如何定位,设置其在页面的坐标位置。元素必须是DOM树中的一部分才拥有页面坐标(display:none或未加入的elements会当作无效而返回false)。 
Ext.fly('id').moveTo(12,17) 

18、position

//初始化元素的位置。如果未传入期待的位置,而又还没定位的话,将会设置当前元素为相对(relative)定位。 
Ext.fly('id').position("relative") 

19、clearPositioning

//当文档加载后清除位置并复位到默认。 
Ext.fly('id').clearPositioning() 
Ext.fly('id').clearPositioning("top") 

20、getPositioning

//返回一个包含CSS定位信息的对象。有用的技巧:连同setPostioning一起,可在更新执行之前,先做一个快照(snapshot),之后便可恢复该元素。 
var positions = Ext.fly('id').getPositioning() 

21、setPositioning

//由getPositioning()返回的对象去进行定位。 
Ext.fly('id').setPositioning({ 
    left: 'static', 
    right: 'auto' 
}) 

22、translatePoints

//送入一个页面坐标的参数,将其翻译到元素的CSS left/top值。 
// {left:translX, top: translY} 
var points = Ext.fly('id').translatePoints(15,18);    

四、尺寸&大小

1、getHeight

//返回元素的偏移(offset)高度。 
var height = Ext.fly('id').getHeight(); 

2、getWidth

//返回元素的偏移(offset)宽度。 
var width = Ext.fly('id').getWidth(); 

3、setHeight

//设置元素的高度。 
Ext.fly('id').setHeight(); 

4、setWidth

//设置元素的宽度。 
Ext.fly('id').setWidth(); 

5、getBorderWidth

//返回指定边(side(s))的padding宽度。 
var borderWidth = Ext.fly('elId').getBorderWidth('lr'); 

6、getPadding

//可以是t, l, r, b或是任何组合。例如,传入lr的参数会得到left padding +(r)ight padding。 
var padding = Ext.fly('id').getPadding('lr'); 

7、clip

//保存当前的溢出(overflow),然后进行裁剪元素的溢出部分 - 使用unclip()来移除。 
Ext.fly('id').clip(); 

8、unclip

//在调用clip()之前,返回原始的裁剪部分(溢出的)。 
Ext.fly('id').unclip(); 

9、isBorderBox

//测试不同的CSS规则/浏览器以确定该元素是否使用Border Box。 
if (Ext.isBorderBox) { 
     
} 

playboy5566
3.1k 声望1.2k 粉丝

一个一直在坑里面的前端小学生