+ -
当前位置:首页 → 问答吧 → 异步调用的,屏蔽页面上的操作

异步调用的,屏蔽页面上的操作

时间:2009-04-29

来源:互联网

各位:
在异步调用 的时候,想 屏蔽页面上的操作,
等返回结果时,恢复,
请问应该怎么弄啊?

谢谢!

作者: ayan117   发布时间: 2009-04-29

首先,如果这样做了,就不是异步操作而是同步操作了
其次,可以给页面加个透明的DIV就可以了

作者: shawphy   发布时间: 2009-04-29

直接用jqmodel插件,生成一个遮罩层,就行了。

作者: seekarmor   发布时间: 2009-04-29

function showDiv(){
   var   div   =   document.createElement("div");  
  div.id   =   "oDiv";  
  div.innerHTML   =   "<img src=’XXX‘'>"  
  div.style.width   =   500;  
  div.style.height   =   500;  
  document.body.appendChild(div)   ;
}

我是这样加的,但是似乎没起到效果,其它操作 仍然可以进行!

作者: ayan117   发布时间: 2009-04-29

已经解决
function showDiv() {  
        var div = document.createElement("div");  
        div.id = "showDiv";  
        div.style.background="#777";
        div.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity=30)";
        div.style.position="absolute";
        div.style.top="0";
        div.style.opacity="0.6";
        div.style.left="0";
        div.style.width = document.body.offsetWidth;  
        div.style.height = document.body.offsetHeight;  
        div.innerHTML = "";
        document.body.appendChild(div);
   }  

作者: ayan117   发布时间: 2009-04-29

说实话,我是很反感这种形式的,把用户的操作锁死,是很糟糕的交互。
你看gmail都支持离线发送了,也就是让用户的操作尽量流畅。
过多的我就不评述了,总之我持反对态度

作者: shawphy   发布时间: 2009-04-29

最好改成
  function showDiv() {
            var div = document.createElement("div");
            div.id = "showDiv";
            div.style.background = "#777";
            div.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=30)";
            div.style.position = "absolute";
            div.style.top = "0";
            div.style.opacity = "0.6";
            div.style.left = "0";
            div.style.width = document.documentElement.clientWidth;
            div.style.height = document.documentElement.clientHeight;
            div.innerHTML = "";
            document.body.appendChild(div);
        }

作者: seekarmor   发布时间: 2009-04-29

相关阅读 更多