用模式窗体太丑,写一个函数传递参数,加载对应数据到div,此方法是否可行?
现在界面一个文本输入框,一个按纽
--------  
        | 按纽 
--------
Click Button时候调用生成div的函数显示divQuestion:
1 函数内如何生成div
2 如何让div left 和文本框left对齐,top 和文本框bottom对齐,就和自动匹配那样的效果主要是样式,边距很乱,最好可以拖动的谢谢

解决方案 »

  1.   

    可以的,使用遮罩层可以模拟出模式窗口。jquery。ui也有模式窗口,效果不错
      

  2.   

    http://download.csdn.net/source/3207027
    下一个自己看吧, 易用简单可定制. 
    可限制其最小或最大高度/宽度 
      

  3.   

    楼上几位大哥 不能访问其他外网,能不能麻烦贴下代码
    3L  恩 遮罩层效果,至于jquery ui 可否贴个下载连接?
      

  4.   

    http://download.csdn.net/source/3207027
    你都不看一下, 我发的就是csdn上的, 你应该可以下的了.
      

  5.   

    http://jqueryui.com/demos/dialog/jqueryui
      

  6.   

    找一下可以上网的MM, 帮你download一下吧. 不要折磨自己了
      

  7.   

    http://blog.csdn.net/xuexiaodong2009/article/details/6605417
    JS制作有遮罩层的模式对话框
    http://jqueryui.com/demos/dialog/
    jqueryui
      

  8.   


          1遮罩层其实就是一个覆盖全界面的半透明的DIV,并处理zIndex使他浮于其他元素之上,是用户不能点击下边的元素,或者说点击没有反应。      2在遮罩层上方在弹出一个层,由于遮罩层挡住了其他所有元素,用户只能点击弹出层,制造出模式窗口的假象。      3JS代码   
    view plain    function openDiv(newDivID)  
           {  
              var newMaskID = "mask";  //遮罩层id  
              var  newMaskWidth =document.body.scrollWidth;//遮罩层宽度  
              var  newMaskHeight =document.body.scrollHeight;//遮罩层高度      
              //mask遮罩层    
             var newMask = document.createElement("div");//创建遮罩层  
            newMask.id = newMaskID;//设置遮罩层id  
            newMask.style.position = "absolute";//遮罩层位置  
            newMask.style.zIndex = "1";//遮罩层zIndex  
            newMask.style.width = newMaskWidth + "px";//设置遮罩层宽度  
            newMask.style.height = newMaskHeight + "px";//设置遮罩层高度  
            newMask.style.top = "0px";//设置遮罩层于上边距离  
            newMask.style.left = "0px";//设置遮罩层左边距离  
            newMask.style.background = "red";//#33393C//遮罩层背景色  
            newMask.style.filter = "alpha(opacity=40)";//遮罩层透明度IE  
            newMask.style.opacity = "0.40";//遮罩层透明度FF  
            document.body.appendChild(newMask);//遮罩层添加到DOM中  
             
            //新弹出层  
            var newDivWidth = 400;//新弹出层宽度  
            var newDivHeight = 200;//新弹出层高度  
            var newDiv = document.createElement("div");//创建新弹出层  
            newDiv.id = newDivID;//设置新弹出层ID  
            newDiv.style.position = "absolute";//新弹出层位置  
            newDiv.style.zIndex = "9999";//新弹出层zIndex  
           
            newDiv.style.width = newDivWidth + "px";//新弹出层宽度  
            newDiv.style.height = newDivHeight + "px";//新弹出层高度  
            var newDivtop=(document.body.scrollTop + document.body.clientHeight/2   
                  - newDivHeight/2) ;//新弹出层距离上边距离  
            var newDivleft=(document.body.scrollLeft + document.body.clientWidth/2   
                    - newDivWidth/2);//新弹出层距离左边距离  
            newDiv.style.top = newDivtop+ "px";//新弹出层距离上边距离  
            newDiv.style.left = newDivleft + "px";//新弹出层距离左边距离  
            newDiv.style.background = "#EFEFEF";//新弹出层背景色  
            newDiv.style.border = "1px solid #860001";///新弹出层边框样式  
            newDiv.style.padding = "5px";//新弹出层  
            newDiv.innerHTML = "content;content";//新弹出层内容  
            document.body.appendChild(newDiv);//新弹出层添加到DOM中  
             
            //弹出层滚动居中  
            function newDivCenter()  
            {  
               newDiv.style.top = (document.body.scrollTop + document.body.clientHeight/2   
                         - newDivHeight/2) + "px";  
               newDiv.style.left = (document.body.scrollLeft + document.body.clientWidth/2  
                        - newDivWidth/2) + "px";  
            }  
            if(document.all)//处理滚动事件,使弹出层始终居中  
            {  
                window.attachEvent("onscroll",newDivCenter);  
            }  
            else  
            {  
                window.addEventListener('scroll',newDivCenter,false);  
            }  
             
            //关闭新图层和mask遮罩层  
          
            var newA = document.createElement("span");  
            newA.href = "#";  
            newA.style.position = "absolute";//span位置  
            newA.style.left=350+ "px";  
            newA.innerHTML = "Close";  
            newA.onclick = function()//处理关闭事件  
            {  
                if(document.all)  
                {  
                    window.detachEvent("onscroll",newDivCenter);  
                }  
                else  
                {  
                    window.removeEventListener('scroll',newDivCenter,false);  
                }  
                 document.body.removeChild(newMask);//移除遮罩层     
                 document.body.removeChild(newDiv);////移除弹出框  
                return false;  
              }  
              newDiv.appendChild(newA);//添加关闭span  
        }  4测试代码<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE> </HEAD>
     <BODY>
      <a onclick="openDiv('newDiv');" style="cursor:pointer">TestOpenDiv</a>
    <br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br />
    <a onclick="openDiv('newDiv');" style="cursor:pointer">TestOpenDiv</a>
     </BODY>
    </HTML>
      

  9.   

    无非就设计一个小窗体,加上可以大小化可拖动的事件,完全就是一个模拟的窗体了,把设计好的html转成可以用js处理的字符串,最后再加载到到body下动成生成一个DIV,我现在做的富客户端就是这么做的
      

  10.   

    参考:
    http://trentrichardson.com/Impromptu/index.php