陳市明
摘自:http://www.tkk7.com/JPeanut
呵呵,無意中翻到2年前寫的一段JS,感覺還是比較有用
好早的代碼了,那個時候我還喜歡用YoungSnow的名字呢
<script>


????var?loadbar?=?new?Ys_LoadBar(4000,"請稍后,系統正在處理……<br><預計進度顯示>","合同數據保存中……");
????loadbar.loadExecute();


????/**?*//**
?????*??作者:?YoungSnow
?????*??作用:顯示load?bar?,禁止左右表單輸入
?????*??用法:
?????*????var?loarbar?=?new?Ys_LoadBar(4000,"請稍后,系統正在處理……<br><預計進度顯示>","合同數據保存中……");
?????*????loarbar.loadExecute();
?????*??param:
?????*???totalTime:進度條的時間
?????*???strTip:上面的提示字符
?????*???strWait:進度條結束后下面跳動的字符
?????*??public?function:
?????*???loadExecute()
?????*/

????function?Ys_LoadBar(totalTime,strTip,strWait)
{
????????//private?properties
????????var?loadTotalTime?=?0;?????//進度條的時間
????????var?loadMaxChar?=?0;???????//進度條的字符數目
????????var?loadPerTimeChar?=?0;???//setTimeOut's?interval??????????
????????var?loadstrTip?=?0;????????//上面的提示字符
????????var?loadstrWait?=?0;???????//進度條結束后下面跳動的字符
????????
????????this.loadTotalTime?=?totalTime;????????????????
????????this.loadstrTip?=?strTip;
????????this.loadstrWait?=?strWait;
????????
????????//private?funcitons
????????this.loadInit?=?loadInit;
????????this.loadExecute?=?loadExecute;
????????this.loadWork?=?loadWork;
????????this.loadStop?=?loadStop;
????????this.loadWaitChange?=?loadWaitChange;
????????this.loadDisplayDiv?=?loadDisplayDiv;
????????this.loadDisabledAllForm?=?loadDisabledAllForm;

????????//進行一些必要的初始化
????????this.loadInit();????
????}


????/**?*//**
?????*??開始運行
?????*/

????function?loadExecute()
{
????????loadFrame.style.visibility?=?"visible";
????????this.loadWork();????
????}


????/**?*//**
?????*??初始化
?????*/

????function?loadInit()
{
????????this.loadDisplayDiv();?
????????this.loadMaxChar?=?100;????????????????????????????????????
????????this.loadPerTimeChar?=?this.loadTotalTime/this.loadMaxChar;??
????????this.loadDisabledAllForm();
????}


????/**?*//**
?????*??進度條顯示
?????*/

????function?loadWork()
{
????????loadBar.value?+=?"■";
????????loadNum.value?=?(parseInt(loadNum.value.replace("%",""))+1)+"%";

????????if(parseInt(loadNum.value)>99)
{
????????????loadStop();
????????????return?;
????????}
????????setTimeout("this.loadWork()",this.loadPerTimeChar);
????}


????/**?*//**
?????*??進度條停止
?????*/

????function?loadStop()
{
????????loadNum.style.display?=?"none";
????????loadWaitChange();
????}


????/**?*//**
?????*??字幕跳動
?????*/

????function?loadWaitChange()
{
????????if(loadWait.style.visibility=="visible")
????????????loadWait.style.visibility?=?"hidden";
????????else
????????????loadWait.style.visibility?=?"visible";
????????setTimeout("this.loadWaitChange()",300);
????}


????/**?*//**
?????*??顯示div圖層
?????*/

????function?loadDisplayDiv()
{
????????document.write("<div?id='loadFrame'?style='position:absolute;?left:20;bottom:330;??z-index:10;?visibility:hidden'>");
????????document.write("????<table?width=100%?border=0?cellspacing=0?cellpadding=0>");
????????document.write("????<tr>");
????????document.write("????<td?align='center'>");
????????document.write("????????<table?border=2?cellspacing=0?cellpadding=0?bordercolor='#ff9900'?width='400'?height=151>");
????????document.write("????????<tr>");
????????document.write("????????<td>");
????????document.write("????????????<table?border=0?width='100%'?bgcolor=#eeeeee??height=150>");
????????document.write("????????????????<tr>");
????????document.write("????????????????????<td?height='3'></td>");
????????document.write("????????????????</tr>");
????????document.write("????????????????<tr>");
????????document.write("????????????????????<td?align='center'><font?style='font-size:?12px;?margin-top:0px;color:#66CC33'>"+this.loadstrTip+"</font></td>");
????????document.write("????????????????</tr>");
????????document.write("????????????????<tr>");
????????document.write("????????????????????<td?height='3'></td>");
????????document.write("????????????????</tr>");
????????document.write("????????????????<tr>");
????????document.write("????????????????????<td?align='left'><input?type='text'?name='loadBar'?size='200'?style='border:none;background-color:#eeeeee;font-size:4px'>");
????????document.write("????????????????</tr>");
????????document.write("????????????????<tr>");
????????document.write("????????????????????<td?align='center'>");
????????document.write("???????????????????????? <input?type='text'?name='loadNum'?size=3?value='0%'?style='border:none;background-color:#eeeeee'> ");
????????document.write("???????????????????????? <div?id='loadWait'?style='visibility:hidden'> <font?style='font-size:?12px;?margin-top:0px;color:#66CC33'> "+this.loadstrWait+" </font></div> ");
????????document.write("????????????????????</td>");
????????document.write("????????????????</tr>");
????????document.write("????????????????<tr>");
????????document.write("????????????????????<td?height='3'></td>");
????????document.write("????????????????</tr>");
????????document.write("????????????</table>");
????????document.write("????????</td>");
????????document.write("????????</tr>");
????????document.write("????????</table>");
????????document.write("????</td>");
????????document.write("????</tr>");
????????document.write("????</table>");
????????document.write("</div>");
????}


????/**?*//**
?????*??禁止所有表單
?????*/

????function?loadDisabledAllForm()
{

????????for(i=0;i<document.forms.length;i++)
{????????

????????????for(j=0;j<document.forms[i].length;j++)
{
????????????????document.forms[i].elements[j].disabled?=?true;
????????????}
????????}
????}
</script>
