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 相关文章推荐
jQuery Ajax之load()方法
Oct 12 Javascript
javascript中日期转换成时间戳的小例子
Mar 21 Javascript
js获取当前页面路径示例讲解
Jan 08 Javascript
Node.js插件的正确编写方式
Aug 03 Javascript
一个简单的动态加载js和css的jquery代码
Sep 01 Javascript
javascript之IE版本检测超简单方法
Aug 20 Javascript
JavaScript实现经典排序算法之插入排序
Dec 28 Javascript
AngularJS之页面跳转Route实例代码
Mar 10 Javascript
vue中配置mint-ui报css错误问题的解决方法
Oct 11 Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
Oct 26 Javascript
react实现一个优雅的图片占位模块组件详解
Oct 30 Javascript
生产制造追溯系统之在线打印功能
Jun 03 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实现对两个数组进行减法操作的方法
2015/04/17 PHP
PHP浮点数精度问题汇总
2015/05/13 PHP
Symfony2开发之控制器用法实例分析
2016/02/05 PHP
浅谈PHP中的数据传输CURL
2016/09/06 PHP
关于php unset对json_encode的影响详解
2018/11/14 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
Microsoft Ajax Minifier 压缩javascript的方法
2010/03/05 Javascript
理解Javascript_15_作用域分配与变量访问规则,再送个闭包
2010/10/20 Javascript
jquery获取元素值的方法(常见的表单元素)
2013/11/15 Javascript
Javascript中arguments用法实例分析
2015/06/13 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
es6的数字处理的方法(5个)
2017/03/16 Javascript
Three.js如何用轨迹球插件(trackball)增加对模型的交互功能详解
2017/09/25 Javascript
浅谈vue,angular,react数据双向绑定原理分析
2017/11/28 Javascript
解决layui的radio属性或别的属性没显示出来的问题
2019/09/26 Javascript
js实现图片粘贴到网页
2019/12/06 Javascript
javscript 数组扁平化的实现
2020/02/03 Javascript
jQuery实现高度灵活的表单验证功能示例【无UI】
2020/04/30 jQuery
Vue跨域请求问题解决方案过程解析
2020/08/07 Javascript
python爬取w3shcool的JQuery课程并且保存到本地
2017/04/06 Python
python登录并爬取淘宝信息代码示例
2017/12/09 Python
Python使用装饰器进行django开发实例代码
2018/02/06 Python
15行Python代码实现网易云热门歌单实例教程
2019/03/10 Python
pycharm工具连接mysql数据库失败问题
2020/04/01 Python
Python填充任意颜色,不同算法时间差异分析说明
2020/05/16 Python
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
2018/12/29 HTML / CSS
HTML5的download属性详细介绍和使用实例
2014/04/23 HTML / CSS
美国购买体育赛事门票网站:TicketCity
2019/03/06 全球购物
介绍一下EJB的体系结构
2012/08/01 面试题
师范大学应届生求职信
2013/11/21 职场文书
门卫岗位安全职责
2013/12/13 职场文书
法律专业实习鉴定
2013/12/22 职场文书
房屋出租协议书
2014/04/10 职场文书
房屋转让协议书范本
2014/04/11 职场文书
一劳永逸彻底解决pip install慢的办法
2021/05/24 Python
Redis实现主从复制方式(Master&Slave)
2022/06/21 Redis