您的位置:首页 > Web前端 > extjs > 正文

Ext.MessageBox.show()的用法及参数配置

更多 时间:2013-10-8 类别:Web前端 浏览量:3731

Ext.MessageBox.show()的用法及参数配置

Ext.MessageBox.show()的用法及参数配置

Ext.MessageBox.show()方法给了我们控制信息提示框的各种可能性.

show ( Object config ) : Ext.MessageBox

  • 根据传递进来的配置选项, 显示一个新的消息框,或者重新初始化一个已有的消息框。 MessageBox上的所有显示函数(例如prompt, alert等等)在内部调用此函数, 虽然这些调用是基本的快捷方式且并不支持这里所允许的所有配置选项。
  •  
  • 参数很多,在此列举最常用的配置参数:

  • 1.animEl:对话框弹出和关闭时的动画效果,比如设置为“id1”,则从id1处弹出并产生动画,收缩则相反

  • 2.buttons:弹出框按钮的设置,主要有以下几种:
  •  
  • Ext.Msg.OK,
    Ext.Msg.OKCANCEL,
    Ext.Msg.CAMCEL,
    Ext.Msg.YESNO,
    Ext.Msg.YESNOCANCEL

  • 你也可以自定义按钮上面的字:{"ok","我本来是ok的"}。
    若设为false,则不显示任何按钮.

  • 3.closable:如果为false,则不显示右上角的小叉叉,默认为true。

  • 4.msg:"消息的内容"

  • 5.title:"标题"

  • 6.fn:关闭弹出框后执行的函数

  • 7.icon:弹出框内容前面的图标,取值为
  •  
  • Ext.MessageBox.INFO,
    Ext.MessageBox.ERROR,
    Ext.MessageBox.WARNING,
    Ext.MessageBox.QUESTION

  • 8.width:弹出框的宽度,不带单位

  • 9.prompt:设为true,则弹出框带有输入框

  • 10.multiline:设为true,则弹出框带有多行输入框

  • 11.progress:设为true,显示进度条,(但是是死的)

  • 12.progressText:显示在进度条上的字

  • 13.wait:设为true,动态显示progress

  • 14.waitConfig:配置参数,以控制显示progress
  •  
  •  一个简单的实例:

  •  
  • JScript 代码   复制
  • 
    Ext.MessageBox.show({
        title:"标题",
        msg:"内容的消息",
        buttons:{"ok":"我不再显示OK了"},
        fn:function(e){alert(e);},
        animEl:"test1",
         width:500,
        icon:Ext.MessageBox.INFO,
        closable:false,
        progress:true,
        wait:true,
        progressText:"进度条"
       // prompt:true
       // multiline:true
    });
    
    		
  • Ext.MessageBox.show()中的进度条的使用


    首先必须知道例外两个方法 Ext.MessageBox.hide()和Ext.MessageBox.updateProgress(value,"ProgressText","msg")(三个参数,看名字就知道意思),注意value为0-1之间的数,表示进度条的进度.


    第一种:(通过进度的大小控制进度,满进度为1)

  •  
  • JScript 代码   复制
  • 
    Ext.get("btn1").on(
              "click",
              function(){
                 Ext.MessageBox.show({
                     title:"df",
                     msg:"dfd",
                     progress:true,
                     width:300,
                     closable:true
                 });
                 var f=function(v){
                   return function(){
                     if(v==12)
                     {
                       Ext.MessageBox.hide();
                       //alert("加载完成!");
                     }
                     else
                     {
                       var i=v/11; 
                       Ext.MessageBox.updateProgress(i,Math.round(100*i)+"% completed",i);
                     }
                   }
                 }
                 for(var i=1;i<13;i++)
                 {
                   setTimeout(f(i),i*500);//从点击时就开始计时,所以500*i表示每500ms就执行一次
                 }
              }
       );
    
    		
  • 效果图

    第二种:(通过固定时间控制进度加载)

  •  
  • JScript 代码   复制
  • 
    Ext.get("btn1").on(
              "click",
              function(){
                 Ext.MessageBox.show({
                     title:"时间进度条",
                     msg:"5s后关闭进度框",
                     progress:true,
                     width:300,
                     wait:true,
                     waitConfig:{
                                  interval:600,
                                  duration:5000,
                                  fn:function(){
                                    Ext.MessageBox.hide();//让进度条消失
                                  }},
                     closable:true
                 });
                 //setTimeout(function(){Ext.MessageBox.hide()},5000);
              }
       );
    
    				
  • 效果图