HTML5中的进度条简介
程序开发
2023-09-04 22:32:57
在Web开发中,进度条是很常见的一种表示工作进度的方式。在过往的Web设计中,都必须使用第三方类库等去实现进度条。而在HTML5的世界中,已经在不少的浏览器的内置实现了进度条。在本文中,将讲解如何在页面中使用HTML5的进度条,目前HTML5的进度条只支持在Firefox,Chrome和Opera中得到支持,在IE和Safari中还没得到支持。
为了演示方便,在第一个例子中,我们通过Javascript去控制时间从而不断地更新进度,并且允许用户通过点击按钮开始进度条的更新,一旦进度条开始更新,则按钮变得不可点击。如果进度条完成的话,则又可以点击按钮,整个进度条在Firefox的效果如下图:
下面我们开始一步步实做这个效果:
1)创建HTML5 页
首先创建基本的HTML 5基本框架页
2) 增加进度条标签
首先,在body部分,添加如下的进度条的标签:
Task progress:
- progress id="prog" value="0" max="100">
HTML 5中的进度条使用的是
3) 点击按钮的编写
现在,我们开始编写点击按钮的事件,代码如下:
0%
其中startProcess()的代码如下:
- //当前进度
- var currProgress = 0;
- //进度条是否完成
- var done = false;
- //进度条计数的最大数值
- var total = 100;
在声明了上面的变量后,就可以编写startProgress()方法了,代码如下:
- function startProgress() {
- //获得进度条的标签
- var prBar = document.getElementById("prog");
- //获得开始按键
- var startButt = document.getElementById("startBtn");
- //显示的进度百分比数值
- var val = document.getElementById("numValue");
- }
接下来,当用户点了开始按钮后,需要将按钮设置为不可用,并且要更新进度条的数值:
- startButt.disabled=true;
- prBar.value = currProgress;
并且要显示出进度条当前完成的百分比并显示出来,使用如下的代码:
- val.innerHTML =Math.round((currProgress/total)*100)+"%";
接着就可以对进度条的数字进行累加了:
- currProgress++;
并且要判断如果进度数值达到100的话,则停止,设置done=false的标识,否则每0.1秒通过Javascript的setimeout方法进行延时,如下:
- if(currProgress>100) done=true;
- //如果还没到进度条100的数值,则继续累加
- if(!done)
- setTimeout("startProgress()", 100);
- //如果进度条已经达到100的数值,则重新设置按钮可用,重新设置currProgrss=0
- else
- {
- document.getElementById("startBtn").disabled = false;
- done = false;
- currProgress = 0;
- }
最后完成的代码如下:
Developer Drive | Displaying the Progress of Tasks with HTML5 | Demo This is a demo to accompany the following tutorial: Displaying the Progress of Tasks with HTML5
Task progress:
0%
标签:
上一篇:
NGUI之响应鼠标事件(划过、停留、点击等)
下一篇:
相关文章
-
无相关信息