实用ExtJS教程100例-003:进度条对话框Ext.MessageBox.progress
在这篇文章中,我们将演示如何在对话框中使用进度条。
进度条对话框
我们可以使用下面的代码来在MessageBox中显示一个进度条:
Ext.get("btn4").on("click", function () {
Ext.MessageBox.progress("进度", "正在处理,请稍候...", "0%");
});
在上面的代码中,我们使用Ext.MessageBox.progress方法显示一个带有进度条的对话框,这个方法有三个参数:
- 第一个参数是标题
- 第二个参数是内容
- 第三个参数是进度条显示的文字
运行代码可以看到如下界面:

让进度条动起来
上面的代码只是在MessageBox中显示了一个进度条,并没有为进度条更新进度,接下来我们来更新进度状态,让进度条能够动起来。
var updateProgress = function (progress) {
if (progress >= 1) {
Ext.MessageBox.updateProgress(1, "处理完成");
return;
}
Ext.MessageBox.updateProgress(progress, Math.round(progress * 100) + "%");
Ext.defer(function () {
updateProgress(progress + 0.1);
}, 500);
}
在段代码中,我首先定义了一个updateProgress的方法,在这个方法中,判断如果参数progress大于等于1,说明已经完成了,那么调用Ext.MessageBox.updateProgress方法来更新进度。
Ext.MessageBox.updateProgress方法接收两个参数:
- 第一个参数为进度数值,值的范围在0到1之间。
- 第二个参数为进度条显示的文字
在updateProgress方法中,我使用了Ext.defer方法来执行定时的操作。
Ext.defer 有两个参数:
- 第一个参数为定时完成以后执行的方法
- 第二个参数为时间长度
我在定时代码中执行了updateProgress方法本身,在进度上加0.1,用来继续更新进度。
我们在创建进度条对话框的时候调用这个方法:
Ext.get("btn4").on("click", function () {
Ext.MessageBox.progress("进度", "正在处理,请稍候...", "0%");
updateProgress(0);
});
程序运行后的截图如下

当进度完成以后:

关闭进度条对话框
在进度执行完成以后,我们可以使用下面的代码来关闭ExtJS 进度条对话框:
Ext.MessageBox.close();
如果觉得这样太突然,可以使用上面的defer方法做一个简单的延时:
Ext.defer(function () { Ext.MessageBox.close(); }, 200);
在200毫秒之后,进度条对话框将关闭。
实用ExtJS教程100例-003:进度条对话框Ext.MessageBox.progress的更多相关文章
- 实用ExtJS教程100例-005:自定义对话框Ext.MessageBox.show
我们对ExtJS对话框进行了三篇演示: MessageBox的三种用法 进度条对话框Ext.MessageBox.progress 等待对话框Ext.MessageBox.wait 通过上面三篇内容的 ...
- 实用ExtJS教程100例-004:等待对话框Ext.MessageBox.wait
在前面两节中,我们分别演示了ExtJS三种常用的对话框和ExtJS带有进度条的对话框.在本节内容中,我们来看看ExtJS中的等待对话框. 首先来看一个简单的例子[查看在线示例]: 这种对话框会一直滚动 ...
- 实用ExtJS教程100例-001:开天辟地的Hello World
ExtJS功能繁多,要想彻底的了解确实很困难.作为初学者,如何能找到一条快速的通道呢?我觉得,如果你有Javascript的基础,那就不要惧怕ExtJS的复杂,从动手开始,遇到问题,解决问题,积累经验 ...
- 实用ExtJS教程100例-009:ExtJS Form无刷新文件上传
文件上传在Web程序开发中必不可少,ExtJS Form中有一个filefield字段,用来选择文件并上传.今天我们来演示一下如何通过filefield实现ExtJS Form无刷新的文件上传. 首先 ...
- 实用ExtJS教程100例-006:ExtJS中Window的用法示例
在前面几个示例中,我们演示了MessageBox的各种用法,今天这篇文章将演示如何使用Window. 我们首先来创建一个窗口: var win = Ext.create("Ext.windo ...
- 实用ExtJS教程100例-002:MessageBox的三种用法
在上一节中,我们用到了MessageBox,在本文中,我们将介绍一下ExtJS中常用的三种MessageBox. Ext.MessageBox.alert() 这个方法用来打开一个普通的对话框,对话框 ...
- 实用ExtJS教程100例-008:使用iframe填充ExtJS Window组件
上面两节中我们分别演示了ExtJS Window的常用功能 和 如何最小化ExtJS Window组件,在这篇内容中我们来演示一下如何使用iframe填充window组件. 思路很简单,首先创建一个w ...
- 实用ExtJS教程100例-011:ExtJS Form 使用JSON数据赋值和取值
上一节中我们演示了ExtJS Form的异步加载和提交数据,本节中我们将演示如何使用JSON数据为ExtJS Form中的字段赋值和取值. 系列ExtJS教程持续更新中,点击查看>>最新E ...
- 实用ExtJS教程100例-010:ExtJS Form异步加载和提交数据
ExtJS Form 为我们提供了两个方法:load 和 submit,分别用来加载和提交数据,这两个方法都是异步的. 系列ExtJS教程持续更新中,点击查看>>最新ExtJS教程目录 F ...
随机推荐
- intelliJ 打包jar的多种方式
这里总结出用IntelliJ IDEA打包jar包的多种方式,以后的项目打包Jar包可以参考如下形式: 用IDEA自带的打包形式 用Maven插件maven-shade-plugin打包 用Maven ...
- JMS(Java消息服务)
JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM:指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来 ...
- @ControllerAdvice + @ExceptionHandler 使用
一.简介 @ControllerAdvice,是spring3.2提供的新注解,意思是控制器增强. 下面是它的解释. 大致意思是, 1.表示标有这个注解的类是一个Controller.它有一个默认行为 ...
- oi初级数学知识
一.先是一些整除的性质: •整除:若a=bk,其中a,b,k都是整数,则b整除a,记做b|a. •也称b是a的约数(因数),a是b的倍数 •显而易见的性质: •1整除任何数,任何数都整除0 •若a|b ...
- 学习ABP遇到的问题汇总
1,在abp官网下载的模板(asp.net+ef)写Application层的时候需要使用AutoMapper.结果ObjectMapper一直为null 解决:需要在当前项目的Module依赖Abp ...
- POJ.1379.Run Away(模拟退火)
题目链接 POJ输出不能用%lf! mmp从4:30改到6:00,把4:30交的一改输出也过了. 于是就有了两份代码.. //392K 500MS //用两点构成的矩形更新,就不需要管边界了 #inc ...
- 邻接矩阵实现图的存储,DFS,BFS遍历
图的遍历一般由两者方式:深度优先搜索(DFS),广度优先搜索(BFS),深度优先就是先访问完最深层次的数据元素,而BFS其实就是层次遍历,每一层每一层的遍历. 1.深度优先搜索(DFS) 我一贯习惯有 ...
- MAC下安装Brew[转]
MAC下安装Brew 1.安装XCode xcode-select --install 2.安装HomeBrew ruby -e "$(curl -fsSL https://raw.gith ...
- 查看APP的下载量
开发者账号登陆后:→用户中心→iTunes Connect→Sales Trend
- hdu 5768 Lucky7 容斥
Lucky7 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5768 Description When ?? was born, seven crow ...