Progressbar控件用来显示任意进程的完成百分比。
- 默认安装启用
- 配置选项
- 控件暴露的事件API
- progressbar暴露的独一无二的方法
- 一些现实生活的例子
当前版本中,我们或系统必须明确进度的总量。
由外部<div>容器和 内部<div>容器构成。内部的<div>用来高亮当前进度。
1 安装启用默认的 progressbar
在例子中,我们使用了<div>元素。但是任何 块级 的元素 block-level elements ,比如 <a> ,也能使用。控件会在初始化时,给这个指定的元素添加一个代表progressbar的值得嵌入<div>元素。
这个控件,会像其他控件一样,填满它的外层容器。组件会自动给外层容器和内层<div>添加一系列的属性和classnames。
ARIA-compliant 这个附加的属性也会被添加到控件。使得控件完全支持浏览者使用辅助技术访问。
2 progressbar的配置选项
Option | Default Value | Used to… |
disabled | false | 禁用控件 |
Value | 0 | 用百分率的方式设置控件的值 |
2.1 设置 progressbar 的值
value选项通过一个整数,以百分比的方式设置内层<div>的宽度。
3 progerssbar的event API
Event | Fired when… |
create | 当控件初始化后 |
change | 控件值变化 |
complete | 控件的值达到100% |
我们首先为存储progressbar的选择器,然后为 change event 定义一个 event handler 。在这个回调函数中,我们首先获得progressbar的最后更新的值。字 event handler中,我们可以使用 $(this) 来选择 progressbar。
提供的值要小于等于100,我们检查这个页面上是否已经有一个元素包含 id=value 。如果这里没有,我们就新建一个 <span> 元素,并且设置它的text和当前的位置。我们同样给他一个id 和 Position ,所以它显示在progressbar的里面。如果元素已经存在,我们只需要将他的text设为新值。
当点击button时,首先使用 option 方法的 getter 模式,得到 progressbar 的当前值。
也可以使用 jQuery 的 bind() 方法,在事件的名字前加上控件的名字作为前缀,例如 progressabarchange。
4 Progressbar 的方法
除了所有库组件都有的 destroy disable,enalbe,option方法,progressbar还有一个 value 方法,它可以以捷径的方式使用 option 方法,设置progressbar的值。
5 用户发起进展 User initiated progress
在这个最基础的等级,在用户交互中,我们能手动更新progressbar。我们可以指定一个向导形式的 表单,它拥有几个步骤来完成。在每个步骤,我们可以手动增加progressbar,让用户知道他们完成了多少。
6 使用 progressbar 的富 uploads
HTML5 文件 API,异步 upload 文件,在文件被上传时,使用 onprogress 事件更新 progressbar 。尽管 onprogress 事件被定义在 官方 W3C 规格说明书中,但目前仅被Firefox 和 webkit 实现。 getAsBinary() 方法只有 Firefox 3.5+有, webkit 浏览器没。