/cript> 2。在提交Button或A>或span> 加扩展属性 IsShowProcessBar="T..." /> /cript> 2。在提交Button或A>或span> 加扩展属性 IsShowProcessBar="T..."/>

ASP进度条

网络整理 - 09-14
     在后台处理数据时,前台页面同时计数显示Proess Bar
  使用了layer来显示
  用法:
  1。引用
  <script language="javascript" src="ShowProcessBar.js"></script>
  2。在提交Button或<A>或<span> 加扩展属性
  IsShowProcessBar="True"
  
  文件ShowProcessBar.js如下
  
  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;
  }
  
  
  测试文件TestShowBar.HTML
  
  <HTML>
  <HEAD>
  <script language="javascript" src="ShowProcessBar.js"></script>
  </HEAD>
  <BODY>
  <A href="error.asp" IsShowProcessBar="True">A Href</a>
  <BR>
  <BR>
  <span IsShowProcessBar="True"><font color=blue>Span</font></span>
  <BR>
  <form action="error.asp">
  <input type=Submit value="Submit">
  <input type=button value="normal button" IsShowProcessBar="True">
  </form>
  <P IsShowProcessBar="True">AAAAAAAAAAAAA</P>
  </BODY>
  </HTML>