一、Ext.util.CSS
概述:有效的控制樣式表,可以多台的刪除修改以及交換
主要方法:
1.createStyleSheet創建一個css樣式在head中的標簽
2.getRule根據類名得到一個CSSRule的對象
3.swapStyleSheet引入一個css樣式文件並指定ID
4.removeStyleSheet用指定的id來刪除一個樣式
5.update修改樣式表中的屬性值
代碼實現以及注釋說明:
//1.createStyleSheet(StringcssText,String id) :StyleSheet 創建一個css樣式在head中的標簽
Ext.util.CSS.createStyleSheet(".c{color:red}","red");
Ext.get("d1").addClsOnOver("c");
//2.getRule(String/Arrayselector,Boolean refreshCache)根據類名得到一個CSSRule的對象,對象可以獲取到里面指定屬性
varcssobj=Ext.util.CSS.getRule(".c",true);
alert(cssobj.style.color);
//3.swapStyleSheet(Stringid,String url) 引入一個css樣式文件並指定ID,交換樣式表,將會把此樣式表引入的數序靠前。多用於皮膚切換
vari=1;
Ext.get("b1").on("click",function(){
if(i%2==0){
Ext.util.CSS.swapStyleSheet("one","lession10/one.css");
Ext.get("d2").addClsOnOver("col");
i++;
}else{
Ext.util.CSS.swapStyleSheet("two","lession10/two.css");
Ext.get("d2").addClsOnOver("col");
i++;
}
});
//4.removeStyleSheet(Stringid) 用指定的id來刪除一個樣式
Ext.get("b2").on("click",function(){
Ext.util.CSS.removeStyleSheet("red");
});
//5.updateRule(String/Arrayselector,String property,String value) :Boolean 參數為類名、屬性名、值
Ext.get("b3").on("click",function(){
Ext.util.CSS.updateRule(".c","color","#990055");
});
二、Ext.util.ClickRepeater
概述:單機一次,如果不失去焦點。系統自動會去請求 主要用於擠房器和網絡忙的時候請等待的功能
直接實例化這個類,第一個參數為 組件的元素對象,第二個為配置對象
delay 首次單機時候的間隔時間
interval發生首次重復事件調用之后每一次事件的間隔時間
stopDefault停止這個el上的默認單機事件
handler執行的動作
//控制元素在指定時間內被單機(如果元素沒有失去焦點)
//第一次單擊馬上會觸發事件,如果不去點擊其他的元素那么3秒后會自動執行第二次
//以后會以4秒的間隔執行相應的程序
varc1=new Ext.util.ClickRepeater(Ext.get("b4"),{
delay:3000,//首次單機時候的間隔時間
interval:4000,//發生首次重復事件調用之后每一次事件的間隔時間
stopDefault:true,//停止這個el上的默認單機事件
handler:function(){
alert("單機我");
}
});
三、Ext.util.DelayedTask
概述:在規定的時間之后調用函數
創建對象指定一個function為參數
主要方法:delay 參數執行時間, 表示多少時間后觸發該對象的函數
cancel移除正在等待的最后一個函數
代碼:
//實例化對象,並傳入一個可執行的函數為參數
varc1=new Ext.util.DelayedTask(function(){
alert("-------");
});
Ext.get("b5").on("click",function(){
c1.delay(2000);//在2秒后調用,也可以傳入第二個參數,參數為執行函數。
c1.cancel();//移除在最后等待的事件
});
四、Ext.util.Format
格式化表示數值和日期等
主要方法:
1.ellipsis當超過位超過指定值時,用...來表示
2.capitalize將首字母變為大寫, 一般用於得到它的set和get方法的時候常用
3.date格式化輸出日期,第一個傳入日期對象, 第二個傳入格式
4.substr截取字符串操作
5.lowercase將所有大寫轉化為小寫
6.number講數值以一定的格式去輸入,因為各國的數值表示不同
7.nl2br將JS中的換行\n解析成<br>標簽
代碼實現:
varstr="marcio_zhang@163.com";
//1.ellipsis()參數第一為字符串,第二個為當超過位超過此值時,用...來表示
alert(Ext.util.Format.ellipsis(str,10));
//2.capitalize()將首字母變為大寫, 一般用於得到它的set和get方法的時候常用
alert(Ext.util.Format.capitalize(str));
//3.date()格式化輸出日期,第一個傳入日期對象, 第二個傳入格式
alert(Ext.util.Format.date(newDate(),"Y年-m月-d日"));
//4.substr截取字符串操作
alert(Ext.util.Format.substr(str,0,5));
//5.lowercase將所有大寫轉化為小寫
alert(Ext.util.Format.lowercase("MARICO"));
//6.number講數值以一定的格式去輸入,因為各國的數值表示不同
alert(Ext.util.Format.number(123123.123123,"0,000.00"));
//7.nl2br將JS中的換行\n解析成<br>標簽
alert(Ext.util.Format.nl2br("marico\nzhang"));
五、Ext.util.MixedCollection對象集合類
概述:可以增加對應的鍵值對,相當於java的一個Map集合,適合做緩存和靜態常量,方便管理
主要方法:
1.集合類的add(String key,Object o) 添加一個對象到集合類中,也可以在第一個參數指定的相應的key值
2.addAll(Object/Arrayobjs)方法。 增加一個數組或者一個集合類
3.clear方法 移除里面所有的對象
4.clone克隆 等於復制對象
5.判斷集合中是否有相應的對象 contains(Objecto) containsKey(String key) 返回一個boolean值
6.each(functionfn,[Object scope]) :void 遍歷這個集合類
7.從集合中得到單個的對象
get(String/Numberkey): Object 根據key得到指定的對象
first()得到集合類中的第一個對象
8.集合的有關事件 當執行add,clear,remove,replace方法的時候可以指定觸發的事件,可以on方法來指定
事件,參數一為執行什么操作,第二個是函數,函數參數第一個為這個對象的坐標,第二個為這個對象,第三個為
這個對象key值
代碼實現:
//1.集合類的add(String key,Object o) 添加一個對象到集合類中,也可以在第一個參數指定的相應的key值
varitem1=new Ext.util.MixedCollection();
vara={name:'a'};
varb={name:'b'};
item1.add("01",a);
item1.add("02",b);
//alert(item1);
//2.addAll(Object/Arrayobjs)方法。 增加一個數組或者一個集合類
vararr=[a,b]
varitem2=new Ext.util.MixedCollection();
item2.addAll(arr);
//alert(item2);
//3.clear方法 移除里面所有的對象
item2.clear();
//alert(item2);
//4.clone克隆 等於復制對象
varitem3=item1.clone();
//alert(item3);
/*
* 5.判斷集合中是否有相應的對象
* contains(Object o): 返回一個boolean值
* containsKey(String key):Boolean
* */
//alert(item3.contains(a));
//alert(item3.containsKey("01"));
//6.each(functionfn,[Object scope]) :void 遍歷這個集合類
item1.each(function(item){
//alert(item.name);
});
//7.從集合中得到單個的對象
//get(String/Numberkey): Object 根據key得到指定的對象
//first()得到集合類中的第一個對象
//alert(item1.get("01").name);
//alert(item1.get(1).name);
//alert(item1.first().name);
//8.集合的有關事件
//add,clear,remove,replace
item1.on("add",function(index,o,key){
alert("集合item1有了一個新的成員:"+key);
});
item1.add("03",{name:"c"});
六、Ext.util.TashRunner
概述:主要操作的為線程,可以實現線程的運行和停止,多個線程之間互不影響,與java中的多線程機制相似
1.實例化一個Ext.util.TaskRunner類的對象
2.定一個線程的對象 里面指定屬性:
run指定的為function,表示線程開啟后執行的函數
interval指定的為一個時間數,表示每隔多少事件執行run指定的函數
3.調用start方法開啟線程 傳入的一個線程的對象
4.調用stop方法停止線程,傳入的是需要停止的那個線程的對象
varrunner=new Ext.util.TaskRunner();
vartask={
run:function(){
Ext.getDom("input").value=Ext.util.Format.date(newDate(),"Y-m-d-s");
},
interval:1000
};
runner.start(task);
Ext.get("b6").on("click",function(){
runner.stop(task);
});