javascript 进度条 实现代码


Posted in Javascript onJuly 30, 2009

首先:建立两个类,一个是用来与资料进行连接(数据层),另一个是用来关联前一个类与页面的(逻辑层)
新建一个JScsrip.js 文件
代码如下:

function setPgb(pgbID, pgbValue,pvalues) 
{ 
if ( pgbValue <= pvalues ) 
{ 
if (lblObj = document.getElementById(pgbID+'_label')) 
{ 
lblObj.innerHTML =Math.ceil((pgbValue/pvalues)*100) + '%'; // change the label value 
} 
if ( pgbObj = document.getElementById(pgbID) ) 
{ 
var divChild = pgbObj.children[0]; 
pgbObj.children[0].style.width = Math.ceil((pgbValue/pvalues)*240);//pgbValue; 
} 
window.status = "数据读取第" + pgbValue+"条,请稍候"; 
} 
if ( pgbValue == pvalues ) 
{ 
window.status = "数据读取已经完成"; 
proBar.style.display="none"; 
Table1.style.display="none"; 
} 
}

建立一个 common.css
代码如下:
.bi-loading-status 
{ 
/**//*position: absolute;*/ 
width: 250px; 
padding: 1px; 
overflow: hidden; 
} 
.bi-loading-status .text{ 
white-space: nowrap; 
overflow: hidden; 
width: 100%; 
text-overflow: ellipsis; 
padding: 1px; 
} 
.bi-loading-status .progress-bar { 
border: 1px solid ThreeDShadow; 
background: window; 
height: 10px; 
width: 100%; 
padding: 1px; 
overflow: hidden; 
} 
.bi-loading-status .progress-bar div { 
background: Highlight; 
overflow: hidden; 
height: 100%; 
filter: Alpha(Opacity=0, FinishOpacity=100, Style=1, StartX=0, StartY=0, FinishX=100, FinishY=0); 
}

建立一个 progressbar.htm
代码如下:
<body topmargin="0" leftmargin="0"> 
<table width="100%" height="100%" ID="Table1" runat=server> 
<tr> 
<td align="center" valign="middle"> 
<DIV class="bi-loading-status" id="proBar" style=" LEFT: 425px; TOP: 278px" align="left"> 
<DIV class="text" id="pgbMain_label" align="left"></DIV> 
<DIV class="progress-bar" id="pgbMain" align="left"> 
<DIV STYLE="WIDTH:5%"></DIV> 
</DIV> 
</DIV> 
</td> 
</tr> 
</table> 
</body>

建立一个 Default.aspx 文件
前台代码如下:
<head> 
<script language="javascript" src="JScript.js" type="text/javascript"></script> 
</head> 
<body > 
<form id="Form1" method="post" runat="server"> 
<asp:GridView ID="GridView1" runat="server"> 
</asp:GridView> 
</form> 
</body>

后台代码如下:
public partial class _Default : System.Web.UI.Page 
{ 
DataSet ds; 
text ts = new text(); 
int count = 0; 
#region Page_Load 
private void Page_Load(object sender, System.EventArgs e) 
{ 
if (!Page.IsPostBack) 
{ 
ds = Getgridview(); 
count = ds.Tables[0].Rows.Count; 
Response.Write("count=" + count); 
string strFileName = Server.MapPath("progressbar.htm"); 
StreamReader sr = new StreamReader(strFileName, System.Text.Encoding.Default); 
string strHtml = sr.ReadToEnd(); 
Response.Write("<div style='align:center;valign:bottom;'>" + strHtml + "</div>"); 
sr.Close(); 
Response.Flush(); 
Thread thread = new Thread(new ThreadStart(ThreadProc)); 
thread.Start(); 
LoadData(ds); 
// Getgridview(); 
//load数据 
thread.Join(); 
} 
} 
#endregion fixedHeader 
#region Getgridview 
protected DataSet Getgridview() 
{ 
ds = ts.QueryProcS("2009/07", "XXXX");//这个是逻辑层中的一个方法 
return ds; 
} 
#endregion 
#region ThreadProc 
private void ThreadProc() 
{ 
string strScript = "<script>setPgb('pgbMain','{0}','" + count + "');</script>"; 
for (int i = 0; i <= count; i++) 
{ 
System.Threading.Thread.Sleep(80); 
Response.Write(string.Format(strScript, i)); 
Response.Flush(); 
} 
} 
#endregion LoadData 
#region LoadData 
private void LoadData(DataSet dds) 
{ 
for (int m = 0; m < count; m++) 
{ 
for (int i = 0; i < dds.Tables[0].Columns.Count; i++) 
{ 
} 
} 
this.GridView1.DataSource = dds.Tables[0].DefaultView; 
this.GridView1.DataBind(); 
} 
#endregion Web Form Designer generated code 
#region Web Form Designer generated code 
override protected void OnInit(EventArgs e) 
{ 
// 
// CODEGEN: This call is required by the ASP.NET Web Form Designer. 
// 
InitializeComponent(); 
base.OnInit(e); 
} 
/**/ 
/// <summary> 
/// Required method for Designer support - do not modify 
/// the contents of this method with the code editor. 
/// </summary> 
private void InitializeComponent() 
{ 
//this.Load += new System.EventHandler(this.Page_Load); 
} 
#endregion 
}

启动加载页面时如下图所示。
javascript 进度条 实现代码
加载完后会自动显示你要显示的数据。
Javascript 相关文章推荐
初学Javascript的一些总结
Nov 03 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
May 10 Javascript
JavaScript编程中实现对象封装特性的实例讲解
Jun 24 Javascript
用jQuery向div中添加Html文本内容的简单实现
Jul 13 Javascript
JavaScript中Promise的使用详解
Feb 26 Javascript
详解在vue-cli项目中使用mockjs(请求数据删除数据)
Oct 23 Javascript
node.js支持多用户web终端实现及安全方案
Nov 29 Javascript
Vue 项目部署到服务器的问题解决方法
Dec 05 Javascript
angular6.0使用教程之父组件通过url传递id给子组件的方法
Jun 30 Javascript
JS 数组基本用法入门示例解析
Jan 16 Javascript
微信小程序基于高德地图API实现天气组件(动态效果)
Oct 22 Javascript
Antd表格滚动 宽度自适应 不换行的实例
Oct 27 Javascript
JS input 数字验证代码
Jul 30 #Javascript
关于取不到由location.href提交而来的上级页面地址的解决办法
Jul 30 #Javascript
window.parent调用父框架时 ie跟火狐不兼容问题
Jul 30 #Javascript
javascript EXCEL 操作类代码
Jul 30 #Javascript
JavaScript this 深入理解
Jul 30 #Javascript
Google Map API更新实现用户自定义标注坐标
Jul 29 #Javascript
JavaScript Konami Code 实现代码
Jul 29 #Javascript
You might like
php中将网址转换为超链接的函数
2011/09/02 PHP
PHP实现抓取迅雷VIP账号的方法
2015/07/30 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
PHP封装的非对称加密RSA算法示例
2018/05/28 PHP
JavaScript 学习笔记(六)
2009/12/31 Javascript
JavaScript 注册事件代码
2011/01/27 Javascript
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
在Firefox下js select标签点击无法弹出
2014/03/06 Javascript
使用jquery清空、复位整个输入域
2015/04/02 Javascript
深入解读JavaScript中的Iterator和for-of循环
2015/07/28 Javascript
浅谈Javascript中的Label语句
2016/12/14 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
AngularJS ng-repeat指令及Ajax的应用实例分析
2017/07/06 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
2017/08/08 jQuery
js导出Excel表格超出26位英文字符的解决方法ES6
2017/11/15 Javascript
解决vue中使用swiper插件问题及swiper在vue中的用法
2018/04/04 Javascript
laypage.js分页插件使用方法详解
2019/07/27 Javascript
微信小程序静默登录的实现代码
2020/01/08 Javascript
python中的全局变量用法分析
2015/06/09 Python
Python的Django框架中设置日期和字段可选的方法
2015/07/17 Python
详解如何为eclipse安装合适版本的python插件pydev
2018/11/04 Python
Django-Rest-Framework 权限管理源码浅析(小结)
2018/11/12 Python
用python标准库difflib比较两份文件的异同详解
2018/11/16 Python
使用python进行拆分大文件的方法
2018/12/10 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
2020/04/08 Python
python 线程的五个状态
2020/09/22 Python
python 实现表情识别
2020/11/21 Python
python 爬取腾讯视频评论的实现步骤
2021/02/18 Python
AOP的定义以及作用
2013/09/08 面试题
国贸专业个人求职信分享
2013/12/04 职场文书
初一学生期末评语
2014/04/24 职场文书
小学生勤俭节约演讲稿
2014/08/28 职场文书
数据库连接池
2021/04/06 MySQL
python基础之函数的定义和调用
2021/10/24 Python