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 相关文章推荐
js jquery数组介绍
Jul 15 Javascript
通过$(this)使用jQuery包装后的方法或属性
May 18 Javascript
Javascript动画的实现原理浅析
Mar 02 Javascript
javascript字符串替换函数如何一次性全部替换掉
Oct 30 Javascript
前端页面文件拖拽上传模块js代码示例
May 19 Javascript
微信小程序之选项卡的实现方法
Sep 29 Javascript
使用Node.js实现ORM的一种思路详解(图文)
Oct 24 Javascript
React Native 搭建开发环境的方法步骤
Oct 30 Javascript
Node.js控制台彩色输出的方法与原理实例详解
Dec 01 Javascript
JS apply用法总结和使用场景实例分析
Mar 14 Javascript
Vue组件跨层级获取组件操作
Jul 27 Javascript
JavaScript 实现下雪特效的示例代码
Sep 09 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字符串截取问题
2006/11/28 PHP
PHP时间戳使用实例代码
2008/06/07 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
PHP-CGI远程代码执行漏洞分析与防范
2017/05/07 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
类似框架的js代码
2006/11/09 Javascript
用Div仿showModalDialog模式菜单的效果的代码
2007/03/05 Javascript
JQuery中判断一个元素下面是否有内容或者有某个标签的判断代码
2012/02/02 Javascript
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
载入jQuery库的最佳方法详细说明及实现代码
2012/12/28 Javascript
JQuery+DIV自定义滚动条样式的具体实现
2013/06/25 Javascript
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
Javascript页面添加到收藏夹的简单方法
2013/08/07 Javascript
javascript跨浏览器的属性判断方法
2014/03/16 Javascript
jQuery实现手机号码输入提示功能实例
2015/04/30 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
js+div+css下拉导航菜单完整代码分享
2016/12/28 Javascript
Vue2.0实现购物车功能
2017/06/05 Javascript
vue-router3.0版本中 router.push 不能刷新页面的问题
2018/05/10 Javascript
基于vue v-for 多层循环嵌套获取行数的方法
2018/09/26 Javascript
大转盘抽奖小程序版 转盘抽奖网页版
2020/04/16 Javascript
JS html事件冒泡和事件捕获操作示例
2019/05/01 Javascript
vue 父组件中调用子组件函数的方法
2019/06/06 Javascript
Python ZipFile模块详解
2013/11/01 Python
python函数返回多个值的示例方法
2013/12/04 Python
零基础写python爬虫之抓取百度贴吧并存储到本地txt文件改进版
2014/11/06 Python
Python3模拟登录操作实例分析
2019/03/12 Python
matplotlib绘制多个子图(subplot)的方法
2019/12/03 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
基于Python的一个自动录入表格的小程序
2020/08/05 Python
CSS3新属性transition-property transform box-shadow实例学习
2013/06/06 HTML / CSS
艺术家策划的室内设计:Curious Egg
2019/03/06 全球购物
商务英语应届生自我鉴定
2013/12/08 职场文书
创先争优一句话承诺
2014/05/29 职场文书
乡镇食品安全责任书
2014/07/28 职场文书
民间借贷借条如何写
2015/05/26 职场文书