实用ExtJS教程100例-003:进度条对话框Ext.MessageBox.progress

实用ExtJS教程100例-003:进度条对话框Ext.MessageBox.progress在上一篇内容中我们介绍了三种常用的MessageBox提示框,在这篇文章中,我们将演示如何在对话框中使用进度条。进度条对话框我们可以使用下面的代码来在MessageBox中显示一个进度条:Ext.get(“btn4”).on(“click”,function(){Ext.MessageBox.progress(“进度”,”…

大家好,又见面了,我是你们的朋友全栈君。

在上一篇内容中我们介绍了三种常用的MessageBox提示框,在这篇文章中,我们将演示如何在对话框中使用进度条。

进度条对话框

我们可以使用下面的代码来在MessageBox中显示一个进度条:

Ext.get("btn4").on("click", function () {
    Ext.MessageBox.progress("进度", "正在处理,请稍候...", "0%");
});

在上面的代码中,我们使用Ext.MessageBox.progress方法显示一个带有进度条的对话框,这个方法有三个参数:

  • 第一个参数是标题
  • 第二个参数是内容
  • 第三个参数是进度条显示的文字

运行代码可以看到如下界面查看在线示例

image

让进度条动起来

上面的代码只是在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);
});

程序运行后的截图如下查看在线示例

image

当进度完成以后:

image

关闭进度条对话框

在进度执行完成以后,我们可以使用下面的代码来关闭ExtJS 进度条对话框:

Ext.MessageBox.close();

如果觉得这样太突然,可以使用上面的defer方法做一个简单的延时:

Ext.defer(function () { Ext.MessageBox.close(); }, 200);

在200毫秒之后,进度条对话框将关闭。

本文转自齐师傅博客园博客,原文链接:http://www.cnblogs.com/youring2/p/extjs-100-examples-003-messagebox-with-progressbar.html,如需转载请自行联系原作者

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151115.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • cisco交换机常用命令[通俗易懂]

    一台全新交换机,不同模式命令大全交换机基本状态显示及各个状态切换:hostname>用户模式hostname#特权模式hostname(config)#全局配置模式hostname(config-if)#接口或者vlan多个接口配置模式hostname(vlan)#…

    2022年4月7日
    45
  • MYSQL数据库同步工具

    MYSQL数据库同步工具MYSQL数据库同步工具MYSQL数据库同步工具功能说明配图MYSQL数据库同步工具GIT地址:https://gitee.com/michlee/mysql-sync功能目前仅针对Mysql数据库1.表结构同步(支持1对多数据库配置:新表/单表/多表/全表(注:多配置全表同步速度会慢一点))2.视图同步(支持1对多数据库配置)3.函数同步(支持1对多数据库配置)4.数据全量同步(1对1数据库配置,支持多表)5.本地启动http://localhost:8765/

    2022年6月15日
    58
  • js获取并设置<p></p>的显示的值。

    js获取并设置<p></p>的显示的值。

    2021年12月9日
    44
  • LTE-TDD随机接入过程(3)-RAR(MSG2)以及MSG1的重传

    LTE-TDD随机接入过程(3)-RAR(MSG2)以及MSG1的重传本文涉及到的内容有:(1)UE在什么时候開始接收RAR(2)怎么确定RA-RNTI(3)UE没有收到RAR后的处理(4)RAR的格式1.UE监測RAR文章《LTE-TDD随机接入过程(2)-前导码Pr

    2022年8月4日
    3
  • 华为服务器pxe装系统,pxe启动服务器

    华为服务器pxe装系统,pxe启动服务器pxe启动服务器内容精选换一换根据给定的云服务器ID列表,批量启动云服务器,一次最多可以启动1000台。POST/v1/{project_id}/cloudservers/action参数说明请参见表1。参数说明参数是否必选描述project_id是项目ID。获取方法请参见获取项目ID。请参考响应(任务类)。启动云服务器请求参数中,必须以“os-start”字段下发用户在创建云服务器或为云服务…

    2022年6月30日
    82
  • 卸载LuDaShi时弹出“正在运行”“已被打开”的一种解决方法

    卸载LuDaShi时弹出“正在运行”“已被打开”的一种解决方法找软件资源的时候偷懒下载了三流网站的东西,结果被LDS(不知道是真LuDaShi还是山寨LuDaShi)缠上了。斗智斗勇一晚上,有了以下俩想法。(小白乱说不一定对)1、LDSGameMaster文件夹下,无法删除的子项疑似会在被用户选中执行删除命令时调用自身,以逃避卸载。笔者第一次选中LDSGameMaster时删除中断,显示有程序调用该文件夹,打开任务管理器后并未找到任何在运行中的LDS进程。一级一级打开子文件夹,发现最后不能被删除的子项,调用者是Win资源管理器——搁这儿搁这儿呢!于是试着改了下这个

    2022年5月30日
    72

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号