实用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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm-professional-2022.01.13 激活码(注册激活)

    (pycharm-professional-2022.01.13 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~0V…

    2022年3月31日
    185
  • Windows10下python pip卸载并重新安装

    Windows10下python pip卸载并重新安装pip已经升级到最新版本,但还是会提示我在使用旧版本,所以把pip卸载并重新安装一次,之后就没有再提示升级了卸载pip中间会有一个提示,输入Y即可python-mpipuninstallpip找到python所在的目录,进入到子目录Scripts中,打开cmd,输入以下命令:easy_inatall-Upip这样就会重新安装pip并升级到最新版本。再进行pipinstall时候也不会提示升级了。…

    2022年10月19日
    0
  • input获取焦点 原生js_原生js的input事件

    input获取焦点 原生js_原生js的input事件1.onfocus当input获取到焦点时触发2.onblur当input失去焦点时触发,注意:这个事件触发的前提是已经获取了焦点再失去焦点的时候才会触发该事件,用于判断标签为空。3.onchange当input失去焦点并且它的value值发生变化时触发,个人感觉可以用于注册时的确认密码。4.onkeydown按下按键时的事件触发,5.onkeyup当按键抬起的时候触发的事件,在该…

    2022年6月2日
    329
  • mysql中phpmyadmin安装教程_安装phpMyAdmin图文教程

    mysql中phpmyadmin安装教程_安装phpMyAdmin图文教程phpmyadmin的安装配置已经是老生常谈的话题了,网络上到处都可以找到相关的配置教程。但是,那些大多都是手动配置的,稍不留神,容易出错。因此站长今天在这里介绍的是,被很多phpmyadmin用户所忽略的phpmyadmin自带的安装程序,下面我们就开始一步一步来安装phpmyadmin。1、首先下载phpmyadmin3.4.11,这是目前最稳定无bug的版本,点击下载2、在你的web根目录新…

    2022年6月1日
    28
  • 影像传感器尺寸换算(英寸-毫米)

    影像传感器尺寸换算(英寸-毫米)CCD尺寸的说法是参考传统摄像机内的真空摄像管的对角线长短来衡量的,它严格遵守了OpticalFormat规范,中文译名为光学格式,其数值称为OF值,单位为英寸。因此CCD尺寸的标准OF值计算方法是其实际对角线长度(单位:16mm)也就是说数码相机里的一英寸长度不是工业上的25.4mm,是16mm!!以1/1.8英寸的CCD作例,这个1/1.8英寸就是计算公式中的OF值,16÷1.8≈8….

    2022年6月8日
    66
  • modelsim-win64-10.4-se 下载、安装、破解全攻略(屡试不爽)

    modelsim-win64-10.4-se 下载、安装、破解全攻略(屡试不爽)本教程包括软件下载、破解文件下载、安装破解方法,助你一次成功。软件安装好了却不能用,想必大家都有过这样的痛苦和无奈。这款软件的破解花了我整整一个下午的时间,期间在网上找了各种方法尝试均以失败告终,差点让我放弃破解而着手去换操作系统。网上的方法多存在着疏漏和差错,所以这也是我写次教程的初衷,希望能帮到大家,少走弯路。本人使用系统声明:win864位专业版以及win1064位安装

    2022年5月24日
    160

发表回复

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

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