| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 439 人关注过本帖
标题:还是关于进度条的问题
只看楼主 加入收藏
zfjyyzycl
Rank: 2
等 级:论坛游民
帖 子:239
专家分:10
注 册:2006-4-15
结帖率:28.57%
收藏
 问题点数:0 回复次数:1 
还是关于进度条的问题

<script language="javascript" >
AddProcessbar();
var bwidth=0;
var swidth = document.all.waiting.clientWidth;

function CheckIsProcessBar(obj)
{
if (obj.IsShowProcessBar=="True")
{
return false;
}
else
{
return true;
}
}

function CheckClick(e)
{
if (e == 1)
{
if (bwidth<swidth*0.98){
bwidth += (swidth - bwidth) * 0.025;
if (document.all)document.sbar.width = bwidth;
else document.rating.clip.width = bwidth;
setTimeout('CheckClick(1);',150);

}
}
else
{
if(document.all)
{
if(document.all.waiting.style.visibility == 'visible')
{document.all.waiting.style.visibility = 'hidden';
bwidth = 1;}
whichIt = event.srcElement;

while (CheckIsProcessBar(whichIt))
{
whichIt = whichIt.parentElement;
if (whichIt == null)return true;
}


document.all.waiting.style.pixelTop = (document.body.offsetHeight - document.all.waiting.clientHeight) / 2 + document.body.scrollTop;
document.all.waiting.style.pixelLeft = (document.body.offsetWidth - document.all.waiting.clientWidth) / 2 + document.body.scrollLeft;
document.all.waiting.style.visibility = 'visible';
if(!bwidth)CheckClick(1);
bwidth = 1;

}

else
{

if(document.waiting.visibility == 'show')
{document.waiting.visibility = 'hide';
document.rating.visibility = 'hide';
bwidth = 1;}
if(e.target.href.toString() != '')
{
document.waiting.top = (window.innerHeight - document.waiting.clip.height) / 2 + self.pageYOffset;
document.waiting.left = (window.innerWidth - document.waiting.clip.width) / 2 + self.pageXOffset;
document.waiting.visibility = 'show';
document.rating.top = (window.innerHeight - document.waiting.clip.height) / 2 + self.pageYOffset+document.waiting.clip.height-10;
document.rating.left = (window.innerWidth - document.waiting.clip.width) / 2 + self.pageXOffset;
document.rating.visibility = 'show';
if(!bwidth)CheckClick(1);
bwidth = 1;
}
}
return true;
}
}

function AddProcessbar()
{

var Str=""
Str+= "<div id=waiting style=position:absolute;top:50px;left:100px;z-index:1;visibility:hidden >";
Str+= "<layer name=waiting visibility=visible zIndex=2 >"
Str+= "<table border=2 cellspacing=1 cellpadding=0 bordercolorlight=#FFFFFF bordercolordark=#C0C0C0 bgcolor=#E0E0E0>"
Str+= " <tr>"
Str+= " <td bgcolor=#E0E0E0 height=30px width=300px align=center>"
Str+= " <font color=black>系统正在处理中,请等待...</font>"
Str+= " </td>"
Str+= " </tr>"
Str+= " <tr>"
Str+= " <td bgcolor=#E0E0E0>"
Str+= " <img width=1 height=10 name=sbar style=background-color:#6699cc>"
Str+= " </td>"
Str+= " </tr>"
Str+= "</table> "
Str+= "</layer>"
Str+= "</div>"
document.write(Str)

if(document.all)document.onclick = CheckClick;
}
</script>

<HTML>
<HEAD>
<script language="javascript" src="ShowProcessBar.js"></script>
</HEAD>
<BODY>

<input type=button value="开始" IsShowProcessBar="True">
 </P>

</HTML>

上面是一段完整的进度条源代码,点击 开始 按钮 就可以看到进度条,可问题是,这样的进度条没有什么用,关键是我怎么才能将进度条和我的程序结合起来,比如说有一个表,记录很多,我需要对每个纪录进行处理,我怎么才能够在进度条上显示我处理表内记录的进度

如果看不到进度条,可以将上面的源代码全部复制到 FrontPage 里面预览可以了

[此贴子已经被作者于2006-5-23 22:42:00编辑过]

搜索更多相关主题的帖子: 进度 
2006-05-23 22:40
zfjyyzycl
Rank: 2
等 级:论坛游民
帖 子:239
专家分:10
注 册:2006-4-15
收藏
得分:0 

[CODE]<%c1=10000%>
<body leftmargin="10" topmargin="10">
<table cellpadding="0" cellspacing="0" border="0" class="tableBorder1" align=center>
<tr>
<td colspan=2 class=tablebody1>
正在统计,请等待...
<table width="400" border="0" cellspacing="1" cellpadding="1">
<tr>
<td bgcolor=000000>
<table width="400" border="0" cellspacing="0" cellpadding="1">
<tr>
<td bgcolor=ffffff height=9>
<img border="0" src="024.jpg" width=5 height=16 id=img2 name=img2>
</td>
</tr>
</table>
</td>
</tr>
</table>
<span id=txt2 name=txt2 style="font-size:9pt">0</span>
<span style="font-size:9pt"> % </span></td>
</tr>
</table>
<%
i=0
oldjd=0
do while i<=c1
ii=0
do while ii<100
ii=ii+1
loop
i=i+1
jd=int(i/c1*400)/4
if oldjd<>jd then
response.write "<script>img2.width=" & oldjd*4 & " </script>"& VbCrLf
Response.Write "<script>txt2.innerHTML="&cint(oldjd)&"</script>"&VbCrLf
Response.Flush
oldjd=jd
end if
loop%>
<input name="button" type="button" class="button" onclick="javascript:history.go(-1)" value=" 返 回 ">[/CODE]


分享我的成果,这段代码,可以非常简单的实现进度条,而且可以和你设定的变量相配合
变量 C1 就是你的将要处理的全部记录的数量,关于jd=int(i/c1*400)/4 和oldjd*4 是为了不至于在输出进度条的过程中服务器不至于向客户端输出过多的进度条进程,其中的400是进度条的长度,可以自己修改自己的愿意的进度条长度,你试一下就知道了!

[此贴子已经被作者于2006-5-24 0:06:31编辑过]

2006-05-23 23:52
快速回复:还是关于进度条的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030946 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved