主要介绍EXTJS中常用的进度条的两种基本实现。
手动模式和自动模式。
A:手动模式:
手工更新进度条主要是通过调用进度条updateProgress方法结合周期性定时方法调用来实现progress动态更新。
调用格式:
updateProgress([Float value], [String text], [Boolean animate])
value: 默认为0,超过1,进度条也不会重新开始。
text : 进度条上显示地文字
animate :是否使用动画效果,默认为false
返回值: Ext.ProgressBar
结合具体的例子:
B:自动模式
自动模式的进度条其实也不能准确反映程序的执行状态,主要是给用于提供一个友好的提示,表示正在执行一个耗时的操作。主要是用到wait方法,进行一些必要的配置就可以得到一个比较理想的自动更新的进度条了。
调用格式:
wait([Object config])
config : 是一个自动更新进度条的配置对象。包含了有用的配置参数。
duration Number 设定进度条在被重置之前要运行的时间长度,单位毫秒。
interval Number 设定更新进度条的时间间隔,单位毫秒。默认是1000毫秒。
increment Number 设定进度条的分段数量,也就是进度条分多少次完成更新。默认为10次。实际次数超过之后会重置。
text string 设定进度条上显示地文字。
fn Function 设定在进度条更新完毕之后被调用,该回调函数没有参数。
Ext.onReady(function(){
var progressBar = new Ext.ProgressBar({
text :'do something..', //进度条上显示地文字
width : 300, //设置进度条的宽度
renderTo: 'ProgressBar' //与renderTo 效果相同,定义HTML标签容器
});
//自动模式调用wait , 上面的手动模式是通过TaskManager来周期调用函数实现的。
progressBar.wait({
duration: 10000, //进度条持续更新10秒钟
interval : 1000, //没1秒更新一次
increment: 10, //进度条分10次更新完毕
text : 'waiting',
scope : this, //回调函数执行范围
fn : function(){
alert('更新完毕..'); //更新完毕之后就会调用回调函数
}
});
});