天天看點

asp/ajax實作進度條方案

???? ??sp????????椤甸??tml???跺??锛?濡?????瀹矽?澶?锛????ㄨ?搴??$???瑰??劇ず褰???杩?搴???涓?涓?寰?濂界????娉???褰??訛?杩?搴??$??搴????涓????????惰??跨????浣?锛?濡???涓????ㄨ?搴??℃?劇ず褰????舵??锛?涓?绠℃??瀵逛????闆??ㄧ??瀹㈡?瘋???瀵逛?绠$?????ㄥ???扮??搴??ㄦ?ヨ?達??繪??璁╀漢涓?澶???????浜?????

???? 璁闆?????4骞村?绉??跨?绋?搴??圭???訛?涓昏???????灏辨??灏??挎?淇℃?????ㄦ??椤甸?㈢????绾?????HTML椤甸????褰??舵????杩?Form琛ㄥ????浜ゅ???椤甸?????杩????闆?肩???????ユ?劇ず褰???杩?搴???????

???? 浠?澶╂????涓????扮?涓?涓?绡?锛?宸х??esponse.Flush瀹??舵?劇ず杩?搴?????瀹逛?????璇存??Response.Flush?????斤?浠ュ??瀹??拌?搴??$???規?????绐??堕???轟?涓??蟲?锛??藉????jax?ュ???拌?搴??″????瀵逛????ヨ?達?濡????界??jax瀹??幫???涓?????涓???orm?ユ??浜よ〃??澶?????????姝ゆ??浜?涓??㈢??浠g??

?test.asp浠g????瀹瑰?涓?

<%
Response.Expires=-1000
Response.Buffer=True
Response.ExpiresAbsolute=Now()-1
Response.CacheControl="no-cache"
Response.AddHeader "Pragma","no-cache"
Response.AddHeader "cache-ctrol","no-cache"
Response.Charset="GB2312"
Server.ScriptTimeOut=60*60*24
CONST MM_BarWidth="250"'杩?搴??℃?誨?藉害
%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<META http-equiv="Content-Type" content="text/html; charset=GB2312" />
<script language="JavaScript" type="text/JavaScript" src="/js/prototype-1.3.1.js"></script>
<script>
function test(){mmAjaxUpdater('test1.asp','k='+$('k').value);}
function mmAjaxUpdater(url,pars,method,id,evalScript){
  url+=(url.indexOf("?")==-1)?"?":"&";
  url+='time='+new Date().getTime();
  method=method?method:'post';//method榛?璁や負post????
  pars=pars?pars:'';//pars榛?璁や負绌?  evalScript=evalScript?evalScript:true;//?ц?js,榛?璁や負?ц?
  id=id?id:'';//榛?璁や負涓?杩????版??骞舵????IV ID
  var myAjax=new Ajax.Updater(
  id,url,{
    method:method,
    parameters:pars,
    evalScripts:evalScript
    });
}
</script>
<style>
#wait{
visibility:hidden;
width:380px;font-size:14px;
padding:10px;
top:200px;left:expression(document.body.clientWidth/2-wait.offsetWidth/2);
position:absolute;
border:1px solid #ccc;background-color:#FAFAFA;}
</style>
</head>
<body>
<div style="width:930px;margin:0 auto;">
<input type=button id="go" class="bln" value="?ョ??????" 慰nclick="$('go').disabled=true;$('wait').style.visibility='visible';test();">
<input type=hidden id=k value=0>
</div>

<!-- ?劇ず杩?搴?? Start -->
<div id="wait">
<table>
<tr><td height=20 align=right><span>????杩?搴??</span></td>
<td>
<table width="<%=MM_BarWidth%>"  cellspacing="0" cellpadding="1" style="border: 1px groove #333333;">
<tr><td height=9>
<img src="bar3.gif" width=0 height=16 id=img2 name=img2 align=absmiddle></td></tr>
</table>
</td></tr>
<tr><td height=20 align=right><span>????淇℃??锛?</span></td>
<td width=224 align=left><span id=txt2 name=txt2 style="font-size:9pt;color:#000000;">0%</span>
</td></tr>
</table>
</div>
<!-- ?劇ず杩?搴?? Over -->
           

test1.asp浠g????瀹瑰?涓?

<%
Response.Expires=-1000
Response.Buffer=True
Response.ExpiresAbsolute=Now()-1
Response.CacheControl="no-cache"
Response.AddHeader "Pragma","no-cache"
Response.AddHeader "cache-ctrol","no-cache"
Response.Charset="GB2312"
Server.ScriptTimeOut=60*60*24
CONST MM_BarWidth="250"'杩?搴??℃?誨?藉害
'#######################################################################
Dim N,i,cardStr,CountNum
Dim k:k=Trim(Request.Form("k"))
CountNum=999'瑕?澶??????版???繪??For N=k To CountNum
  For i=0 To 100
    cardStr="MM"&makeRnd(20) '涓轟?娴?璇?????锛?寤舵?剁?ㄣ??
  Next
  k=k+1
  IF k mod 1=0 Then'1涓哄???澶?灏??版???劇ず????浠ユ??浠繪???存??姣?濡?IF k mod 10=0 Then绛?绛?
  Response.Write "<script>$('k').value=" & k & ";$('img2').width=" & Fix((k/CountNum) * MM_BarWidth) & ";$('txt2').innerHTML=""褰???杩?搴??" & FormatNumber(k/CountNum*100,4,-1) & "%"";test();</script>"
  response.end
  End IF
Next
Response.Write "<script>$('img2').width=" & MM_BarWidth & ";$('txt2').innerHTML=""?諱?瀹???搴??100%锛??????版??缁???锛?"";</script>"
Response.End

Function makeRnd(n)
  ReDim tmpArr(n-1)
  For j=0 to n-1
    Do
      Randomize
      asciicode=Int((122-48+1)*Rnd+48)
      Loop Until asciicode<=57 OR (65<=asciicode AND asciicode<=90) OR 97<=asciicode
      tmpArr(j)=Chr(asciicode)
    Next
  makeRnd=Join(tmpArr,"")
End Function
%>
           

??浠ュ?浠ヤ???瀹逛?瀛???浠舵?ц??ョ????????

?ㄤ??㈠???拌?搴??℃?規?涔???锛???????est.asp??浠朵腑??杩?

function test(){

mmAjaxUpdater('test1.asp','');//娉ㄦ??锛?杩???娌℃????涓?????

}

?ц?test1.asp??浠舵?舵????est1.asp寰???涓?锛???杩?Response.Flush?ヨ揪?拌?涓???????

<%
Response.Expires=-1000
Response.Buffer=True
Response.ExpiresAbsolute=Now()-1
Response.CacheControl="no-cache"
Response.AddHeader "Pragma","no-cache"
Response.AddHeader "cache-ctrol","no-cache"
Response.Charset="GB2312"
Server.ScriptTimeOut=60*60*24
CONST MM_BarWidth="250"'杩?搴??℃?誨?藉害
'#######################################################################
Dim N,cardStr,CountNum
dim i,k
CountNum=999'瑕?澶??????版???繪??For N=k To CountNum
  For i=0 To 100
    cardStr="MM"&makeRnd(20) '涓轟?娴?璇?????锛?寤舵?剁?ㄣ??
  Next
  k=k+1
  IF k mod 10=0 Then
    Response.Write "$('img2').width=" & Fix((k/CountNum) * MM_BarWidth) & ";$('txt2').innerHTML=""褰???杩?搴??" & FormatNumber(k/CountNum*100,4,-1) & "%"";test();</script>"
    Response.Flush
  End IF
Next
Response.Write "<script>$('img2').width=" & MM_BarWidth & ";$('txt2').innerHTML=""?諱?瀹???搴??100%锛??????版??缁???锛?"";</script>"
Response.Flush
%>
           

???劇????锛?缁???瀹?骞朵?瀹??舵?劇ず锛??????劇ず??缁???缁???锛?杩?瀵逛?杩?搴??℃?ヨ?達?涓?涓???涔?娌℃??????浠ユ????涓?????锛??ユ?у?惰?搴??$???劇ず??

杩???浠?澶╂?沖?扮????杩?ajax瀹??拌?搴??$??澶????規?锛?????ㄨ?存??涓?涓?锛????ㄦ???規?锛???浠ュ???剁?姝㈢?搴?锛?涓???浠ュ??锛?濡???????orm??浜わ??變????版??涓?娆℃?у???锛???浠ヤ???娉??ㄧ?搴??ц???缁?姝㈠??锛?杩?涓??癸??ㄦ??浜??哄??灏や負??瑕?????绋?搴?浠???渚???璺?锛?娌℃??娣卞?ヤ?绋?搴?璐ㄩ??涓?杩?澶?????锛?娆㈣?浜ゆ?骞跺??????

浠ヤ?浠g??娑?????prototype??浠朵?杞斤?http://download.csdn.net/detail/zm2714/4543744

繼續閱讀