Extjs的一些基础使用

更新日期: 2019-11-20 阅读: 3.3k 标签: 

ExtJS其实 是一个Ajax 框架,是一个用javascript 写的。与EasyUI差不多的一个框架。学习并不难,先找好一定的学习资料与文档,然后再练习几个demo,这样大概就有所了解了。具体精通,那只有等你自己在项目中多实践。


一、获取元素(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) { 
     
} 

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://fly63.com/article/detial/6557

相关推荐

十个最流行的前端 CSS 库

前端 CSS 库,可以帮助用户分担样式设计,从而显著提高原型制作速度;用户则可以凭借前端框架,更加轻松地构建起直观的可用应用程序。目前市场上存在大量前端框架可供选择,本篇文章的主要内容就是关于那些目前最为流行且常用的框架

math.js_灵活强大的JavaScript数学库

math.js是一个广泛应用于JavaScript 和 Node.js的数学库,它的特点是灵活表达式解析器,支持符号计算,内置大量函数与常量,并提供集成解决方案来处理不同的数据类型,如数字,大数字,复数,分数,单位和矩阵。

15个有趣的Javascript 和CSS库

让你了解到新兴和酷炫的web 开发趋势. 精心挑选发布一些认为大家值得关注的库:Direction Reveal、Carbon、Аxios、Jarvis、Toast UI Editor、Micron.js、lit

GoJS的使用

GoJS是用于实现交互式图的JavaScript库。GoJS是依赖HTML5功能的JavaScript库,每个GoJS图表都包含在<div>您的HTML页面的HTML元素中

34 个最受欢迎的 JavaScript 库

直接开门见山,看看有哪些好用受欢迎的库值得我们使用。nodemon在编写调试Node.js项目,修改代码后,需要频繁的手动close掉,然后再重新启动,非常繁琐。现在,我们可以使用nodemon这个工具

React Native 常用的 15 个库

本篇 React native 库列表不是从网上随便找的, 这些是我在我的应用中亲自使用的库。 这些库功能可能跟其它库也有,但经过大量研究并在我的程序中尝试后,我选择了这些库。

12 个评估 JS 库你需要关心的事

当你调研一个 JS 库,功能当然是最重要的。作者给出了从 12 个角度全面分析 JS 库的可用性,分别是:特性,稳定性,性能,包生态,社区,学习曲线,文档,工具,发展历史,团队,兼容性,趋势

前端常用的CSS动画库

动效设计一直都是最近几年前端开发的热门趋势之一。动画是Web和UI设计的主要内容。一个完全静止的网站,即使是使用了微妙的悬停状态,也可能感觉不一样。如果缺少动画,就像缺少必要的东西一样。

推荐 11 个好用的 JS 动画库

Three.js超过46K的星星,这个流行的库提供了非常多的3D显示功能,以一种直观的方式使用 WebGL。这个库提供了<canvas>、 <svg>、CSS3D 和 WebGL渲染器,让咱们在设备和浏览器之间创建丰富的交互体验

JavaScript 社区由一个库引发的“smoosh门”事件到底怎么回事?

一项名为 JavaScript 功能的提案 Array.prototype.flatten 证明与 Web 不兼容。在 Firefox Nightly 中发布该功能会导致至少一个受欢迎的网站中断。鉴于有问题的代码是广泛使用的 MooTools 库的一部分,很可能会有更多网站受到影响。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!