2010.04.13———Ext 之 MessageBox 进度条 等待条 带图像的消息框

2010.04.13———Ext 之 MessageBox 进度条 等待条 带图像的消息框

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>MessageBox</title>
    <link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css">
    <!-- ext-base.js必须在ext-all前面,不然,Ext无法识别 -->
    <script type="text/javascript" src="extjs/adapter/ext/ext-base.js"></script>
    <script type="text/javascript" src="extjs/ext-all.js"></script>
<style type="text/css">
.ext-mb-download {
	background:transparent url(images/MessageBox/download.gif) no-repeat top left;
	height:30px;
}
</style>

<script type="text/javascript">
Ext.onReady(function(){
	Ext.get("b1").on("click",function(event){
		Ext.Msg.alert("祝贺","你老婆生了!",showMessage);
		/*当用户点击按钮或者"X"时,都会调用这个函数,并且默认返回消息框上面按钮的id
		 
		*/
	});
	Ext.get("b2").on("click",function(event){
		Ext.Msg.confirm("请问","你确定要了却此生吗?",showMessage);
		/*当用户点击按钮或者"X"时,都会调用这个函数,并且默认返回消息框上面按钮的id*/
	});
	Ext.get("b3").on("click",function(event){
		Ext.Msg.prompt("提示","请输入你最恨的人?",showMessageText);
		/*当用户点击按钮或者"X"时,都会调用这个函数,并且默认返回消息框上面按钮的id和输入的文本*/
	});
	Ext.get("b4").on("click",function(event){
		Ext.Msg.show({//MessageBox是单例模式,不能实例化,所以一般通过这个show方法来建立MessageBox
			title: "输入框",
			msg: "请输入一段诗词:",
			width: 300,
			buttons: {ok:"很好",cancel:"离开"},
			multiline: true,//提示用户输入多行文本
			fn: showMessageText,
			/*
			也是传两个参数,一个id,一个text
			被按下的按钮的ID,属于如下情况之一: 
			1.ok 
			2.yes 
			3.no 
			4.cancel
			*/
			animEl:"b4"//一个id或者元素,作为当打开和关闭消息框时动画效果的起点(终点) 
		});
	});
	Ext.get("b5").on("click",function(event){
		Ext.Msg.show({
			title: "图像",
			msg: "注意左边的这个图像<br /> 帅不帅?",
			buttons: Ext.Msg.YESNOCANCEL,
			fn: showMessage,
			animEl:"b4",
			icon: Ext.MessageBox.QUESTION
			/*
			提供一个背景图片,被用作对话框body的图标 (例如Ext.MessageBox.WARNING)
			可以为一个一个CSS类;
			*/
		});
	});
	Ext.get("b6").on("click",function(event){
		Ext.Msg.show({
			title: "进度条",
			msg: "加载数据",
			progressText: "加载中...",//当progress = true时在进展条上面显示的文本 
			progress: true,//设置为true以显示一个进展条
			width: 300,
			animEl:"b6"
		});
		 var f = function(v){
	            return function(){
	                if(v == 12){
	                    Ext.Msg.hide();//隐藏可见的消息框
	                    Ext.Msg.alert("恭喜","恭喜,数据已加载完成");
	                }else{
	                    var i = v/11;
	                    Ext.Msg.updateProgress(i, "已完成"+Math.round(100*i)+'%',"开始加载");
	                    /*
	                                                                    更新一个进度条上的文本(progressText)和进度条body里面的文本(msg)。
	                                                                    只与通过 Ext.MessageBox.progress 或者
	                                                                    通过调用 Ext.MessageBox.show 同时progress:true初始化的消息框相关。
	                                                                    三个参数:
	                    1.是0--1之间的一个数
	                    2.是进度条上的文本 ,就是progressText
	                    3.是进度条消息框上的文本,就是msg                                             
	                    */
	                }
	           };
	       };
	       for(var i = 1; i < 13; i++){
	           setTimeout(f(i), i*500);//隔一段时间,执行一次
	       }
			
	});
	Ext.get("b7").on("click",function(event){
		Ext.Msg.show({
			//title: "保存",
			msg: "保存数据中,请稍等...",
			progressText: "保存中..",
			width: 300,
			wait: true,
			waitConfig: {interval:200},
	        icon: "ext-mb-download",//一个在上面定义的CSS类
	        animEl: "b7"
		});
		setTimeout(function(){
			Ext.Msg.hide();
			Ext.Msg.alert("恭喜","恭喜,数据已保存完成");
		},5000);
	});

	/*
	一些Ext本身带的背景图片
	*/
	Ext.fly('info').dom.value = Ext.MessageBox.INFO;
    Ext.fly('question').dom.value = Ext.MessageBox.QUESTION;
    Ext.fly('warning').dom.value = Ext.MessageBox.WARNING;
    Ext.fly('error').dom.value = Ext.MessageBox.ERROR;
	Ext.get("b8").on("click",function(event){
		Ext.Msg.show({
			title: "呵呵",
			msg: "注意左边图像的变换",
			buttons: Ext.Msg.OK,
			animEl: "b8",
			fn: showMessage,
			icon: Ext.get('icons').dom.value
		});
	});
});

function showMessage(btn){
	alert("你点击了"+btn);
}

function showMessageText(btn,text){
	alert("你点击了"+btn+",你输入了"+text);
}


</script>
</head>
  
<body>
<p>
	<b>alert弹出按钮</b> 
	<button id="b1" >show</button>
</p><br />
<p>
	<b>confirm确认按钮</b>
	<button id="b2" >show</button>
</p><br />
<p>
	<b>prompt输入按钮</b>
	<button id="b3" >show</button>
</p><br />
<p>
	<b>MessageBox输入文本按钮</b>
	<button id="b4" >show</button>
</p><br />
<p>
	<b>MessageBox带图像的消息框</b>
	<button id="b5" >show</button>
</p><br />
<p>
	<b>MessageBox进度条</b>
	<button id="b6" >show</button>
</p><br />
<p>
	<b>MessageBox等待条</b>
	<button id="b7" >show</button>
</p><br />
<p>
    <b>变换图像</b><br />
    选择所需要的图像
    <select id="icons">
        <option id="error" selected="selected">错误</option>
        <option id="info">提示</option>
        <option id="question">问答</option>

        <option id="warning">警告</option>
    </select>
    <button id="b8">Show</button>
</p>

</body>
</html>











你可能感兴趣的:(css,ext,F#)