加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

extjs各种弹出框

(2012-09-26 00:07:42)
标签:

消息框

提示框

进度条

分类: Ext
1.ExtJs之消息框:
  语法:Ext.MessageBox.alert(String title, String msg,Function fn, Obejct scope);   参数定义: 
  
  • title: 标题
  • msg: 提示内容
  • fn: 提示框关闭之后自动调用的回调函数
  • scope: 作用域,用于指定this指向哪里
[javascript] view plaincopy
  1. Ext.MessageBox.alert("提示框""这是一个提示框");  
  2. Ext.MessageBox.alert("提示框""这是一个提示框",function(){    
  3.      alert("提示框关闭"   
  4. });  

2. ExtJs 之输入框 
  语法:Ext.MessageBox.prompt(String title, String msg,Function fn,Object scope,Boolean/Number multiline,String defaulttext); 
  参数定义:
  • title: 标题
  • msg: 提示内容
  • fn: 提示框关闭之后自动调用的回调函数
  • scope: 作用域,用于指定this指向哪里
  • Boolean/Number:如果为true或为数字,则表示允许输入多行或者指定默认高度
  • defaulttext :输入框默认文本内容
[javascript] view plaincopy
  1. Ext.MessageBox.prompt("输入框","请输入名字:",function(bu,txt){    
  2.      Ext.MessageBox.alert("Result","你点击的是"+bu+"按钮,<br> 输入的内容为:"+txt);    
  3. },this,300); 

3.ExtJs之确认框 
语法: 
  Ext.MessageBox.confirm(String title, String msg,Function fn, Object scope); 
  参数定义: 
  
  • title: 标题
  • msg: 提示内容
  • fn: 提示框关闭之后自动调用的回调函数
  • scope: 作用域,用于指定this指向哪里
[javascript] view plaincopy
  1. Ext.MessageBox.confirm("确认""请点击下面的按钮作出选择",function(btn{    
  2.         Ext.MessageBox.alert("你单击的按钮是:"+btn);    
  3. }); 

4. ExtJs之自定义消息框 
  语法: 
    Ext.MessageBox.show(Object config);
  config属性说明: 

  • title : 消息框标题栏
  • msg:消息内容
  • width:消息框的宽度
  • multiline: 是否显示多行文本
  • closable:是否显示关闭按钮
  • buttons:按钮
  • icon:图标
  • fn:回调函数
[javascript] view plaincopy
  1. var config ={    
  2.     title:"自定义对话框"   
  3.     msg:"这是一个自定义对话框"   
  4.     width:400,    
  5.     multiline:true   
  6.     closable:false   
  7.     buttons:Ext.MessageBox.YESNOCANCEL,    
  8.     icon:Ext.MessageBox.QUESTION,    
  9.     fn:  function(btn,txt){    
  10.    Ext.MessageBox.alert("Result","你点击了'yes'按钮<br>,输入的值是:"+txt);    
  11.     
  12.  };    
  13. Ext.MessageBox.show(config); 


注意: 在ExtJs.MessageBox中已经定义了buttons的取值.如下 

引用

OK:只有"确定"按钮 
CANCEL:只有"取消"按钮 
OKCANCEL:有"确定"和"取消"按钮 
YESNO: 有"是"和"否"按钮 
YESNOCANCEL:有"是"、"否"和"取消"按钮 

icons取值如下 
引用

  INFO:信息图标 
  WARNING:警告图标 
  QUESTION:询问图标 
  ERROR:错误图标


5.ExtJs之进度条对话框 

    进度条对话框也是自定义消息框的一种,只是在配置Config时添progress=true即可,同时在设置其他相关信息,比如进度提示。 

[javascript] view plaincopy
  1. Ext.MessageBox.show({    
  2.        title:'请等待片刻'   
  3.        msg:'正在加载项目....'   
  4.        progressText:'正在初始化...'   
  5.        Width:300,    
  6.        progress:true   
  7.        closable:false    
  8.    });    
  9.   var function(v){    
  10.       return function(){    
  11.         if(v == 12){    
  12.             Ext.MessageBox.hide();    
  13.             Ext.MessageBox.alert('完成','所有项目加载完成!');    
  14.          }else   
  15.              var v/11;    
  16.             Ext.MessageBox.updateProgress(i,Math.round(100*i)+'%以完成');    
  17.              
  18.       };    
  19.  };    
  20.   for(var i=0; i<13;i++){    
  21.     setTimeout(f(i),i*500);    
  22.   

解 析上述代码中ProgressText属性是进度条滚动之前最初的文本,滚动进程由updateProgress(Number value,String progressText)方法来定义,参数value是从0-1之间的小数,表示进度百分比;progressText则表示进度条滚动过程中的文本提 示信息。


6.ExtJs之消息框动画效果 

[javascript] view plaincopy
  1. var config    
  2.        title:"飞出的消息框"   
  3.        msg:"这是一个自定义对话框,是飞出来的哦"   
  4.        width:400,    
  5.        multiline:true   
  6.        closable:false   
  7.        buttons:Ext.MessageBox.YESNOCANCEL,    
  8.        icon:Ext.MessageBox.QUESTION,    
  9.        animEl:"fly"    
  10.      };    
  11.      Ext.MessageBox.show(config); 
PS:弹框的宽度都是固定的,很多时候都会影响美观,相信很多人都会想着如何改变弹框的宽度。

Ext源码
1、progress : function(title, msg, progressText){
            this.show({
                title : title,
                msg : msg,
                buttons: false,
                progress:true,
                closable:false,
                minWidth: this.minProgressWidth,
                progressText: progressText
            });
            return this;
        },
   wait : function(msg, title, config){
            this.show({
                title : title,
                msg : msg,
                buttons: false,
                closable:false,
                wait:true,
                modal:true,
                minWidth: this.minProgressWidth,
                waitConfig: config
            });
            return this;
        },
修改宽度的代码为:Ext.MessageBox.minProgressWidth = 400;
例:
        Ext.MessageBox.minPromptWidth = 400;
        Ext.MessageBox.prompt("补充需求信息", "需求分析", analysisreq, this, 250, vanalysisReq);

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有