<div id='loading' align='center' style='position:relative; background: #f2f2f2; color:#99FF66; border: solid 3px #FF9900; width: 150px; height: 53px; left: 240px; top: 50px; background-color: #FFFFCC; visibility: visible;'><br><font color='0000FF'>请稍候,正在加载……</font></div>以上的DIV无论是放在<head>的js代码中直接使用document.write()
还是将其属性设置为可视并放在body内
最后在<body onload="">中写代码将其设置不可见以上两种方式在请求页面时不管页面要等待多久,div加载... 都看不到,若我在onload的function中的第一句中
加入alert()则在点击确定之前一直都可用看到DIV层.我的结论就是: div层的内容是和返回的请求内容一并产生的,并没有先产生DIV层,而直到真正的请求内容返回之前一刻消失我想达到的效果是: 发生请求时立马显示div加载...  直到请求内容返回之前一刻消失请大家指点,有没有好的方法 ???

解决方案 »

  1.   


    想达到效果逻辑是这样的:
    先设置DIV内容“正在加载...”并显示该DIV,再发送AJAX请求,等到AJAX返回结果时,隐藏加载DIV框,顺序性很强;如果,AJAX返回的结果速度很慢看到效果很清楚
      

  2.   

    呵呵,如果用ajax当然没问题了
    前提是普通页面请求
      

  3.   

    等待页面是静态的,所以可以放在请求页面,在发送请求之前显示,浏览器界面停住或者页面嵌套一个frame中,显示等待的div和frame同层,div和frame轮换显示和隐藏
      

  4.   

    给你一个例子:
    简单的function ShowTips() {
                window.setTimeout(function() { document.getElementById("Result").innerHTML="请稍后...";}, 5000)
            }
     <div>
            <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"  OnClientClick="ShowTips()"/>
        </div>
        <div id="Result" runat=server>
        
        </div>
     System.Threading.Thread.Sleep(10000);
                Result.InnerHtml = "加载完毕!";