实用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)
上一篇 2022年6月19日 下午11:00
下一篇 2022年6月19日 下午11:00


相关推荐

  • 决不随波逐流,记住15件事让你达成目标

    决不随波逐流,记住15件事让你达成目标

    2021年11月29日
    43
  • maven编译报错:java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags[通俗易懂]

    maven编译报错:java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags[通俗易懂]错误日志:[ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.1:compile(default-compile)onprojecthelloworld:Fatalerrorcompiling:java.lang.ExceptionInInitializerError:c…

    2022年5月28日
    40
  • 视频编码格式不支持_缺少编码解码器

    视频编码格式不支持_缺少编码解码器AVI格式视频文件编码格式缺少编码解释器且该项目的编码格式不受支持产生0xc00d5212错误(见下图)解决方案:将AVI格式视频转换为MP4格式视频文件。方式:通过格式工厂软件(见下图)。下载链接:点击下载格式工厂4.8.0.0官方免费版操作:一、下载好软件(格式工厂)之后,点击启动软件进去,点击红色箭头指向的红色框的内容(->MP4)。二、点击红色箭头指向的红色框的…

    2026年4月19日
    6
  • jsp显示时间的代码_空调代码大全

    jsp显示时间的代码_空调代码大全请参照以下的原代码,注意:下面的JavaScript码可以放置于想要显示时间的任意位置。以下是网页源代码您在本站逗留了varsec=0;varmin=0;varhou=0;flag=0;idt=window.setTimeout(“update();”,1000);functionupdate(){sec++;if(sec==60){sec=0;min+=1;}if(min

    2022年8月30日
    6
  • 蓝桥杯 2014真题 史丰收速算

    蓝桥杯 2014真题 史丰收速算标题 史丰收速算史丰收速算法的革命性贡献是 从高位算起 预测进位 不需要九九表 彻底颠覆了传统手算 速算的核心基础是 1 位数乘以多位数的乘法 其中 乘以 7 是最复杂的 就以它为例 因为 1 7 是个循环小数 0 如果多位数超过 就要进 1 同理 2 7 3 7 6 7 也都是类似的循环小数

    2025年9月7日
    5
  • linux卸载docker

    linux卸载docker查看 docker 运行状态 systemctlsta 如果显示 active running 状态 则表示 docker 是运行状态 需要执行关闭命令 systemctlsto 查看 yum 安装的 docker 文件包 yumlistinsta grepdocker 查看 docker 相关的 rmp 源文件 rpm qa grepdocker 删除所有安装的 docker 文件包

    2026年3月26日
    0

发表回复

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

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