ExtJs----彈出窗口
Ext.MessageBox
對話框的更多配置
Ext.MessageBox中預(yù)設(shè)的4個(gè)按鈕分別是OK,Yes,No,Cancel。如果不使用YESNOCANCEL這種預(yù)設(shè)變量,也可以直接使用{ok:true, yes:true, no:true,cancel:true}的形式,這樣4個(gè)按鈕都會顯示在對話框中。
進(jìn)度條
上述的進(jìn)度狀態(tài)時(shí)不會發(fā)生變化的,我們需要調(diào)用Ext.MessageBox.updateProgress()函數(shù),如以下為每秒變化,10秒后隱藏:
還可以使用一種自動變化的進(jìn)度條提示框,如Ext.MessageBox.wait('請等待', msg: ' 讀取數(shù)據(jù)中');
動畫效果
可以為對話框這是彈出和關(guān)閉的動畫效果,使用animEl參數(shù)指定一個(gè)HTML元素,對話框就會依據(jù)指定的HTML元素播放彈出和關(guān)閉的動畫。
窗口分組
示例中,所有通過newWind()方法產(chǎn)生的窗口都屬于mygroup窗口組
1
//Ext.MessageBox.alert()
2
Ext.MessageBox.alert('標(biāo)題','內(nèi)容',function(btn){
3
alert('你剛剛點(diǎn)擊了' + btn);
4
});
5
6
//Ext.MessageBox.confirm()
7
Ext.MessageBox.confirm('選擇框','你到底是選擇Yes還是No?', function(btn) {
8
alert('你剛剛點(diǎn)擊了' + btn);
9
});
10
11
//Ext.MessageBox.prompt()
12
Ext.MessageBox.prompt('輸入框','隨便輸入一些東西', function(btn,text) {
13
alert('你剛剛點(diǎn)擊了' + btn + ", 剛剛輸入了" + text);
14
});

2

3

4

5

6

7

8

9

10

11

12

13

14

對話框的更多配置
1
//可以輸入多行的輸入框
2
Ext.MessageBox.show({
3
title:'多行輸入框',
4
msg:'你可以多輸入好幾行',
5
width:300,
6
buttons:Ext.MessageBox.OKCANCEL,
7
multiline:true,
8
fn:function(btn,text){
9
alert('你剛剛點(diǎn)擊了' + btn + ", 剛剛輸入了" + text);
10
}
11
});
12
13
//自定義對話框的按鈕
14
Ext.MessageBox.show({
15
title:'隨便按個(gè)按鈕',
16
msg:'從三個(gè)按鈕里隨便選擇一個(gè)',
17
buttons:Ext.MessageBox.YESNOCANCEL,
18
multiline:true,
19
fn:function(btn){
20
alert('你剛剛點(diǎn)擊了' + btn);
21
}
22
});

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

Ext.MessageBox中預(yù)設(shè)的4個(gè)按鈕分別是OK,Yes,No,Cancel。如果不使用YESNOCANCEL這種預(yù)設(shè)變量,也可以直接使用{ok:true, yes:true, no:true,cancel:true}的形式,這樣4個(gè)按鈕都會顯示在對話框中。
進(jìn)度條
1
Ext.MessageBox.show({
2
title:'請等待',
3
msg:'讀取數(shù)據(jù)中',
4
width:240,
5
progress:true,
6
closable:false //隱藏對話框右上角的關(guān)閉按鈕,從而禁止用戶關(guān)閉進(jìn)度條
7
});
8
9
//也可以直接使用Ext.MessageBox.progress()
10
Ext.MessageBox.progress('請等待',msg:'讀取數(shù)據(jù)中');
11

2

3

4

5

6

7

8

9

10

11

上述的進(jìn)度狀態(tài)時(shí)不會發(fā)生變化的,我們需要調(diào)用Ext.MessageBox.updateProgress()函數(shù),如以下為每秒變化,10秒后隱藏:
1
var f = function(v){
2
return function(){
3
if (v == 11) {
4
Ext.MessageBox.hide();
5
} esle {
6
Ext.MessageBox.updateProgress(v/10,'正在讀取第' + v + '個(gè),一共10個(gè)');
7
}
8
};
9
};
10
for (var i = 1 ; i < 12 ; i++) {
11
setTimeout(f(i) , i*1000);
12
}

2

3

4

5

6

7

8

9

10

11

12

還可以使用一種自動變化的進(jìn)度條提示框,如Ext.MessageBox.wait('請等待', msg: ' 讀取數(shù)據(jù)中');
動畫效果
可以為對話框這是彈出和關(guān)閉的動畫效果,使用animEl參數(shù)指定一個(gè)HTML元素,對話框就會依據(jù)指定的HTML元素播放彈出和關(guān)閉的動畫。
窗口分組
1
<script type="text/javascript">
2
var i = 0 , mygroup;
3
4
function newWin(){
5
var win = new Ext.Window({
6
title:'窗口'+ i++,
7
width:400,
8
height:300,
9
maximizable:true,
10
manager:mygroup
11
});
12
win.show();
13
}
14
15
function toBack(){
16
mygroup.sendToBack(mygroup.getActive());
17
}
18
19
function hideAll(){
20
mygroup.hideAll();
21
}
22
23
Ext.onReady(function(){
24
mygroup = new Ext.WindowGroup();
25
26
Ext.get("btn").on("click",newWin);
27
Ext.get("btnToBack").on("click",toBack);
28
Ext.get("btnHide").on("click",hideAll);
29
});
30
</script>
31
32
<BODY>
33
<input id="btn" type="button" name="add" value="新窗口"/>
34
<input id="btnToBack" type="button" name="btnToBack" value="放到后臺"/>
35
<input id="btnHide" type="button" name="btnHide" value="隱藏所有"/>
36
</BODY>

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

示例中,所有通過newWind()方法產(chǎn)生的窗口都屬于mygroup窗口組
posted on 2009-10-25 11:24 Brian 閱讀(5596) 評論(2) 編輯 收藏 所屬分類: JScript