非Ajax的伪loading效果

定义两个函数:

C# code
  
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->
/// <summary>
/// 初始化页面加载效果
/// </summary>
public void InitLoading()
{
HttpContext.Current.Response.Write(
" <script language=JavaScript type=text/javascript> " );
HttpContext.Current.Response.Write(
" var t_id = setInterval(animate,20); " );
HttpContext.Current.Response.Write(
" var pos=0;var dir=2;var len=0; " );
HttpContext.Current.Response.Write(
" function animate(){ " );
HttpContext.Current.Response.Write(
" var elem = document.getElementById('progress'); " );
HttpContext.Current.Response.Write(
" if(elem != null) { " );
HttpContext.Current.Response.Write(
" if (pos==0) len += dir; " );
HttpContext.Current.Response.Write(
" if (len>32 || pos>79) pos += dir; " );
HttpContext.Current.Response.Write(
" if (pos>79) len -= dir; " );
HttpContext.Current.Response.Write(
" if (pos>79 && len==0) pos=0; " );
HttpContext.Current.Response.Write(
" elem.style.left = pos; " );
HttpContext.Current.Response.Write(
" elem.style.width = len; " );
HttpContext.Current.Response.Write(
" }} " );
HttpContext.Current.Response.Write(
" function remove_loading() { " );
HttpContext.Current.Response.Write(
" this.clearInterval(t_id); " );
HttpContext.Current.Response.Write(
" var targelem = document.getElementById('loader_container'); " );
HttpContext.Current.Response.Write(
" targelem.style.display='none'; " );
HttpContext.Current.Response.Write(
" targelem.style.visibility='hidden'; " );
HttpContext.Current.Response.Write(
" } " );
HttpContext.Current.Response.Write(
" </script> " );
HttpContext.Current.Response.Write(
" <style> " );
HttpContext.Current.Response.Write(
" #loader_container {text-align:center; position:absolute; top:40%; width:100%; left: 0;} " );
HttpContext.Current.Response.Write(
" #loader {font-family:Tahoma, Helvetica, sans; font-size:11.5px; color:#000000; background-color:#FFFFFF; padding:10px 0 16px 0; margin:0 auto; display:block; width:130px; border:1px solid #5a667b; text-align:left; z-index:2;} " );
HttpContext.Current.Response.Write(
" #progress {height:5px; font-size:1px; width:1px; position:relative; top:1px; left:0px; background-color:#8894a8;} " );
HttpContext.Current.Response.Write(
" #loader_bg {background-color:#e4e7eb; position:relative; top:8px; left:8px; height:7px; width:113px; font-size:1px;} " );
HttpContext.Current.Response.Write(
" </style> " );
HttpContext.Current.Response.Write(
" <div id=loader_container> " );
HttpContext.Current.Response.Write(
" <div id=loader> " );
HttpContext.Current.Response.Write(
" <div align=center>程序正在加载中 ...</div> " );
HttpContext.Current.Response.Write(
" <div id=loader_bg><div id=progress> </div></div> " );
HttpContext.Current.Response.Write(
" </div></div> " );
HttpContext.Current.Response.Flush();
}
/// <summary>
/// 加载完毕
/// </summary>
public void UnloadLoading()
{
HttpContext.Current.Response.Write(
" <script language=JavaScript type=text/javascript> " );
HttpContext.Current.Response.Write(
" remove_loading(); " );
HttpContext.Current.Response.Write(
" </script> " );
}




在页面中使用:

C# code
  
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->
protected void Page_Load( object sender, EventArgs e)
{
this .InitLoading();
/* 中间操作代码 */
this .UnloadLoading();
}



这样每做一次服务器操作都会有个加载效果!

你可能感兴趣的:(Ajax)