Asp.net制作一个简单的等待窗口

    技术2022-05-11  85

    前一阵做一个项目,在处理报表的时候时间偏长,客户提出要做出一个等待窗口提示用户等待(页面太久没反映,用户还以为死了呢)。在分析这一需求之后,觉得如果要实现像winform应用中的processbar太困难了。最后,只好模拟,做了一个“假”的等待窗体,还好客户也挺满意。

    这个等待窗体实际上是利用了<object>标签完成的。因为动态效果由<marquee>完成,该等待窗体显示出来的时候,整个table是透明的,只有中间的过程条在动,后面的任何按钮都不能点击。

    首先做一个静态页面:downloadExcel.html

    .tborder { BORDER-RIGHT:#333333 2px solid; BORDER-TOP:#333333 2px solid; BORDER-LEFT:#333333 2px solid; BORDER-BOTTOM:#333333 2px solid; border-collapse:collapse;}.tborder1 { BORDER-RIGHT:#cccccc 3px solid; BORDER-BOTTOM:#cccccc 3px solid; border-collapse:collapse;}.dropShadow{filter:dropshadow(color=#a9a9a9,offx=2,offy=2,positive=true)} 报表生成中,请稍等...            

    然后在处理画面中加上这么一段:

    <TABLE border="0" id="processBarMask" bgcolor="#cccccc" style="VISIBILITY:hidden; POSITION: absolute" cellspacing="0" cellpadding="0">    <TR>        <TD align="center">        <object type="text/x-scriptlet" id="objProcessBar" style="z-index:65535;" width="302" height="102" data="downloadExcel.html"></object>        </TD>    </TR></TABLE>

    一开始是隐藏起来的。当点击处理按钮之后,就将它显示出来:

    <SCRIPT language="javaScript">    var firstFlg = "0";    function processStart(){          with(document.all.processBarMask.style){                 top = 0;                 width = "100%";                 height = "100%";                 visibility = "visible";          }          document.all.processBarMask.focus();    }    function processEnd(){        document.all.processBarMask.style.visibility = "hidden";    }</SCRIPT>

    最后给处理按钮加上处理:

     <input type="button" id="btnOK" value="OK" οnclick="processStart()" style="width:80px">

    http://blog.csdn.net/fangxinggood/archive/2006/03/25/638490.aspx 

    最新回复(0)