javascript实现简单的进度条


Posted in Javascript onJuly 02, 2015

示例一:

<!doctype html>
<html>
<head>
<meta charset="utf8">
<title>Process Bar</title>
<script>
var t;

function s(c)
{
  if(c<=100)
  {
    val.style.width=c+"%";
    percent.innerHTML=c+"%";
    btn.disabled=true;
    btnp.disabled=false;
    c=c+10;
    t=setTimeout("s("+c+")",500);
  }
  else
  {
    clearTimeout(t);
    btnc.disabled=false;
    btnp.disabled=true;
    return;
  }
}

function c()
{
  clearTimeout(t);
  val.style.width="0px";
  percent.innerHTML="0%";
  btn.disabled=false;
  btnc.disabled=true;
  btnp.disabled=true;
  btnp.value='Pause';
}

function p()
{
  var temp;
  if('Pause' == btnp.value)
  {
    clearTimeout(t);
    btnp.value='Go on';
    btnc.disabled=false;
  }
  else
  {
    temp=val.style.width;
    btnp.value='Pause';
    var k=parseInt(delEnd(temp));
    s(k);
    btnc.disabled=true;
  }  
}

function delEnd(str)
{
  var temp="";
  for(var i=0; i < str.length-1; i++)

  {
    temp=temp+str[i];
  }

  return temp;

}
</script>
</head>

<body>
<div id="bar" style="width:300px; height:30px; border:solid 1px; float:left;">
 <div id="val" style="height:100%; background-color:#03F; width:0px;"></div>
</div>
<div id="percent" style="float:left; line-height:30px;">0%</div>
<div style="clear:both"></div>
<br />
<input id="btn" type="button" value="Start" onClick="s(0)" />
<br />
<input id="btnc" type="button" value="Clear" onClick="c()" disabled />
<br />
<input id="btnp" type="button" value="Pause" onClick="p()" disabled />
</body>
</html>

再来分享一个结合.net的

建立一个WEB工程,添加新项->HTML页面,命名为ProgressBar.htm,内容如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" id="mainWindow">
<head>
  <title>无标题页</title>
  <script language="javascript">
    function SetPorgressBar(pos)
    {
      //设置进度条居中
      var screenHeight = window["mainWindow"].offsetHeight;
      var screenWidth = window["mainWindow"].offsetWidth;
      ProgressBarSide.style.width = Math.round(screenWidth / 2);
      ProgressBarSide.style.left = Math.round(screenWidth / 4);
      ProgressBarSide.style.top = Math.round(screenHeight / 2);
      ProgressBarSide.style.height = "21px";
      ProgressBarSide.style.display = "";
       
      //设置进度条百分比            
      ProgressBar.style.width = pos + "%";
      ProgressText.innerHTML = pos + "%";
    }

    //完成后隐藏进度条
    function SetCompleted()
    {    
      ProgressBarSide.style.display = "none";
    }
   </script> 
</head>
  <body>
  <div id="ProgressBarSide" style="position:absolute;height:21x;width:100px;color:Silver;border-width:1px;border-style:Solid;display:none">
    <div id="ProgressBar" style="position:absolute;height:21px;width:0%;background-color:#3366FF"></div>
    <div id="ProgressText" style="position:absolute;height:21px;width:100%;text-align:center"></div>
  </div>
  </body>
</html>

后台代码,Default.aspx.cs:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Threading;
using System.IO;

public partial class _Default : System.Web.UI.Page 
{
  private void beginProgress()
  {
    //根据ProgressBar.htm显示进度条界面
    string templateFileName = Path.Combine(Server.MapPath("."), "ProgressBar.htm");
    StreamReader reader = new StreamReader(@templateFileName,System.Text.Encoding.GetEncoding("GB2312"));
    string html = reader.ReadToEnd();
    reader.Close();
    Response.Write(html);
    Response.Flush();
  }

  private void setProgress(int percent)
  {
    string jsBlock = "<script>SetPorgressBar('" + percent.ToString() + "'); </script>";
    Response.Write(jsBlock);
    Response.Flush();
  }

  private void finishProgress()
  {
    string jsBlock = "<script>SetCompleted();</script>";
    Response.Write(jsBlock);
    Response.Flush();
  }

  private void Page_Load(object sender, System.EventArgs e) 
  {
    beginProgress();

    for (int i = 1; i <= 100; i++)
    {
      setProgress(i);

      //此处用线程休眠代替实际的操作,如加载数据等
      System.Threading.Thread.Sleep(50);
    }

    finishProgress(); 
  } 
}
Javascript 相关文章推荐
node.js中的events.EventEmitter.listenerCount方法使用说明
Dec 08 Javascript
javascript的几种继承方法介绍
Mar 22 Javascript
Bootstrap零基础入门教程(二)
Jul 18 Javascript
js内置对象处理_打印学生成绩单的简单实现
Sep 24 Javascript
AngularJS变量及过滤器Filter用法分析
Nov 22 Javascript
js实现手机web图片左右滑动效果
Dec 29 Javascript
bing Map 在vue项目中的使用详解
Apr 09 Javascript
微信小程序导航栏跟随滑动效果的实现代码
May 14 Javascript
新手简单了解vue
May 29 Javascript
微信小程序保存图片到相册权限设置
Apr 09 Javascript
基于JavaScript实现轮播图效果
Jan 02 Javascript
vue el-table实现递归嵌套的示例代码
Aug 14 Vue.js
JavaScript实现添加、查找、删除元素
Jul 02 #Javascript
超级给力的JavaScript的React框架入门教程
Jul 02 #Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
Jul 02 #Javascript
JS验证IP,子网掩码,网关和MAC的方法
Jul 02 #Javascript
JavaScript实现动态添加,删除行的方法实例详解
Jul 02 #Javascript
javascript获取select值的方法分析
Jul 02 #Javascript
JavaScript获取并更改input标签name属性的方法
Jul 02 #Javascript
You might like
php微信公众平台开发之获取用户基本信息
2015/08/17 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
php实现微信分享朋友链接功能
2019/02/18 PHP
JQuery autocomplete 使用手册
2010/04/01 Javascript
jQuery查看选中对象HTML代码的方法
2016/06/17 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
2016/12/21 Javascript
JavaScript实现的选择排序算法实例分析
2017/04/14 Javascript
详解在AngularJS的controller外部直接获取$scope
2017/06/02 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
2017/07/19 jQuery
JS HTML图片显示Canvas 压缩功能
2017/07/21 Javascript
Angular设置别名alias的方法
2018/11/08 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
jQuery实现判断滚动条滚动到document底部的方法分析
2019/08/27 jQuery
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
python中元类用法实例
2014/10/10 Python
Python连接mssql数据库编码问题解决方法
2015/01/01 Python
Python利用Beautiful Soup模块修改内容方法示例
2017/03/27 Python
Python构建网页爬虫原理分析
2017/12/19 Python
python实现飞机大战微信小游戏
2020/03/21 Python
对python中大文件的导入与导出方法详解
2018/12/28 Python
python实现年会抽奖程序
2019/01/22 Python
python实现简单井字棋游戏
2020/03/04 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
python 动态渲染 mysql 配置文件的示例
2020/11/20 Python
Python tkinter之Bind(绑定事件)的使用示例
2021/02/05 Python
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
俄罗斯童装网上商店:BebaKids
2020/06/06 全球购物
就业推荐自我鉴定
2013/10/06 职场文书
本科生求职简历的自我评价
2013/10/21 职场文书
个人银行贷款担保书
2014/04/01 职场文书
党员干部廉洁承诺书
2014/05/28 职场文书
爱护花草树木的标语
2014/06/11 职场文书
工地质量标语
2014/06/12 职场文书
2014年国庆标语
2014/06/30 职场文书
争先创优演讲稿
2014/09/15 职场文书
《群青的幻想曲》京力秋树角色PV公开
2022/04/08 日漫