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


相关推荐

  • 输入网址访问服务器详细流程

    输入网址访问服务器详细流程问题:以前遇到过一次输入一个网站打不开,该网站服务器没问题,换台电脑可以打开。这台电脑可以打开别的网站,就是打不开我要访问的网站。后来找到C:\Windows\System32\drivers\etc\hosts 这个文件,在该文件中找到该网址删掉就好了. 答案:   输入网址访问的时候,浏览器会进行解析域名,找对应的ip地址。那么首先就从本机C:\Windows\System…

    2022年6月16日
    34
  • 数据库设计中的14个技巧

    数据库设计中的14个技巧

    2021年12月10日
    48
  • idea2022激活码永久jar【2022免费激活】「建议收藏」

    (idea2022激活码永久jar)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月2日
    964
  • 盘点五款好用的项目管理软件

    盘点五款好用的项目管理软件好用的项目管理软件有哪些?对于很多从事项目开发与设计的团队都会有这样的需求,一款优秀的项目进度管理软件在企业项目实施中有着极为重要的作用,它伴随着项目计划、定义、监控、控制以及确认交付的全部过程。那么面对市场上众多的企业项目进度管理软件,有哪些项目管理软件比较好呢?本文将盘点分析市面上常见几款甘特图软件,以帮助大家能够找到适合自己的工具。|EdrawProject这是一款专业的项目管…

    2022年5月29日
    49
  • dz搬家 config_global.php 不可写入,傻瓜式Discuz论坛搬家教程

    dz搬家 config_global.php 不可写入,傻瓜式Discuz论坛搬家教程1.首先,数据的备份是很重要的,要明确这一点2.论坛搬家,备份恢复一点也不难,真的,首先不要在心里上被它吓到,dz程序为我们提供了非常便捷的几种方案大致上,搬家的方法有几种:1.第一种方法是通过phpmyadmin导出导入数据,这种方法比较鸡肋,因为超过2M的就上传不上去了,在此不多解释,不推荐2.第二种方法是通过ucenter后台自带备份恢复,这个容易遇到“无法访问该应用的备份接口,请拷贝uce…

    2022年7月25日
    7
  • pip命令使用详解「建议收藏」

    pip命令使用详解「建议收藏」pip很像CentOS系统中的yum命令,用于安装及维护Python包。pip的安装windows其实在windows下是默认安装了pip工具的,只是没有将其所在目录加入Path,导致命令查找不到。将python安装目录下的scripts目录加入环境变量Path中即可。Linux执行下面命令即可完成安装#wgethttps://bootstrap.pyp…

    2022年5月28日
    35

发表回复

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

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