1. 程式人生 > >ExtJs 通過 toggleClass 實現樣式切換 ——以及更多的CSS操作

ExtJs 通過 toggleClass 實現樣式切換 ——以及更多的CSS操作

此處重點介紹一下 toggleClass的應用,如圖:

css ↓

extjs ↓

修改之後 ↓

同樣是為了實現一個樣式切換的效果,之前不知道 toggleClass這個神器的時候還傻傻地用 hasClass + removeClass + addClass 來進行判斷操作。。。

一、獲取元素(Getting Elements) 

1.Ext.get 

var el = Ext.get('myElementId');//獲取元素,等同於document.getElementById('myElementId');//會快取 

2. Ext.fly 


var el = Ext.fly('myElementId')//不需要快取。 

注:享元模式(Flyweight Design Pattern)是一種節省記憶體的模式,該模式的大概原理是建立單個全體物件然後不斷反覆使用它。

3.Ext.getDom 
var elDom = Ext.getDom('elId'); // 依據id來查dom節點 

var elDom1 = Ext.getDom(elDom);// 依據dom節點來查dom節點 


二、CSS元素 
4.addClass 

Ext.fly('elId').addClass('myCls');// 加入元素的'myCls'的樣式 

5.radioClass 

Ext.fly('elId').radioClass('myCls');//新增一個或多個className到這個元素,並移除其所有側邊(siblings)節點上的同名樣式。

6.removeClass 

Ext.fly('elId').removeClass('myCls');// 移除元素的樣式 

7.toggleClass 
Ext.fly('elId').toggleClass('myCls'); // 加入樣式 
Ext.fly('elId').toggleClass('myCls'); // 移除樣式 

Ext.fly('elId').toggleClass('myCls'); // 再加入樣式 

8.hasClass 
if (Ext.fly('elId').hasClass('myCls')){//判斷是否已加上這個樣式 
// 是有樣式的…… 

9.replaceClass 

Ext.fly('elId').replaceClass('myClsA', 'myClsB');//替換樣式 

10.getStyle 
var color = Ext.fly('elId').getStyle('color');//返回該元素的統一化當前樣式和計算樣式。 

var zIndx = Ext.fly('elId').getStyle('z-index');//返回該元素的統一化當前樣式和計算樣式。 

11.setStyle 
Ext.fly('elId').setStyle({ 
display : 'block', 
overflow : 'hidden', 
cursor : 'pointer' 

});//設定元素的樣式,也可以用一個物件引數包含多個樣式。 

12.getColor 

Ext.fly('elId').getColor('color');//為指定的CSS屬性返回CSS顏色 

13.setOpacity 

Ext.fly('elId').setOpacity(.45, true);//設定元素的透明度。 

14.clearOpacity 

Ext.fly('elId').clearOpacity();//清除這個元素的透明度設定