问问各位大侠,类似那种一个透明层把下面遮住的那种网页对话框效果是怎么做的?谁能给个例子吗?

解决方案 »

  1.   

    LZ说的是这个吧 
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>div提示框</title>
    </head><body>
          <p>测试</p>
          <input type="button" value="点击这里" onclick="sAlert('<a href=http://hi.baidu.com/pao8041/>测试效果</a>');" /><script type="text/javascript" language="javascript">
    function sAlert(str){
    var msgw,msgh,bordercolor;
    msgw=400;//提示窗口的宽度
    msgh=100;//提示窗口的高度
    titleheight=25 //提示窗口标题高度
    bordercolor="#007ECE";//提示窗口的边框颜色
    titlecolor="#99CCFF";//提示窗口的标题颜色
    var sWidth,sHeight;
    sWidth=document.body.offsetWidth-25;
    sHeight=document.body.scrollHeight;
    var bgObj=document.createElement("div");
    bgObj.setAttribute('id','bgDiv');
    bgObj.style.position="absolute";
    bgObj.style.top="0";
    bgObj.style.background="#777";
    bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=0,finishOpacity=0)";
    bgObj.style.opacity="0.6";
    bgObj.style.left="0";
    bgObj.style.width=sWidth + "px";
    bgObj.style.height=sHeight + "px";
    bgObj.style.zIndex = "10000";
    document.body.appendChild(bgObj);
    var msgObj=document.createElement("div")
    msgObj.setAttribute("id","msgDiv");
    msgObj.setAttribute("align","center");
    msgObj.style.background="white";
    msgObj.style.border="1px solid " + bordercolor;
      msgObj.style.position = "absolute";
    msgObj.style.left = "50%";
    msgObj.style.top = document.body.scrollTop+document.body.clientHeight/2;
    msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";
    msgObj.style.marginLeft = "-225px" ;
    msgObj.style.marginTop = -75+document.documentElement.scrollTop+"px";
    msgObj.style.width = msgw + "px";
    msgObj.style.height =msgh + "px";
    msgObj.style.textAlign = "center";
    msgObj.style.lineHeight ="25px";
    msgObj.style.zIndex = "10001";var title=document.createElement("h4");
    title.setAttribute("id","msgTitle");
    title.setAttribute("align","right");
    title.style.margin="0";
    title.style.padding="3px";
    title.style.background=bordercolor;
    title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";
    title.style.opacity="0.75";
    title.style.border="1px solid " + bordercolor;
    title.style.height="18px";
    title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif";
    title.style.color="white";
    title.style.cursor="pointer";
    title.innerHTML="关闭";
    title.onclick=function(){
         document.body.removeChild(bgObj);
               document.getElementById("msgDiv").removeChild(title);
               document.body.removeChild(msgObj);
               }
    document.body.appendChild(msgObj);
    document.getElementById("msgDiv").appendChild(title);
    var txt=document.createElement("p");
    txt.style.margin="1em 0"
    txt.setAttribute("id","msgTxt");
    txt.innerHTML=str;
          document.getElementById("msgDiv").appendChild(txt);
           }</script></body>
    </html>
      

  2.   

    是的,谢谢,怎么做那种透明效果啊。就像blog.sina.com点击登录一样的效果
      

  3.   

    那再看看这个吧
    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title> </title>
    <style type="text/css">
    #LockWindows{
        position:absolute; top:10px; left:10px; background-color:#777777; z-index:2; display:none;
        /* Moz Family使用私有属性-moz-opacity: 0.70 */
        /* IE 使用私有属性filter */
        /* 标准属性opacity支持CSS3的浏览器(FF 1.5也支持)*/
        opacity: 0.70;
        filter : progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=70,finishOpacity=100);
        width:expression(documentElement.clientWidth < 900?(documentElement.clientWidth==0?(body.clientWidth <900?'900':'auto'):'900px'):'auto');
    }
    #WindowDIV{position:absolute; z-index:3; background-color:#FFFFFF; border:#000000 solid 1px; display:none;}
    </style>
    <script type="text/javascript">
    //隐藏下拉框,以解决下拉框优先度太高的问题, 
    function _displaySelect(){
        var selects=document.getElementsByTagName("select");//整个页面的所有下拉框   
        var objWindow =  document.getElementById("WindowDIV");
        var DIVselects = objWindow.getElementsByTagName("select"); //整个弹出层的所有下拉框
        for(var i=0;i <selects.length;i++){
            if(selects[i].style.visibility){
                selects[i].style.visibility="";
            }else{
                selects[i].style.visibility="hidden";
                for(var j=0; i <DIVselects.length; j++){
                    DIVselects[j].style.visibility="";
                }
            }
        }
    }
    function openWindows(width,height){
        var objWindow =  document.getElementById("WindowDIV");
        var objLock =  document.getElementById("LockWindows");  //这个是用于在IE下屏蔽内容用
        objLock.style.display="block";
        objLock.style.width=document.body.clientWidth+"px";
        objLock.style.height=document.body.clientHeight+"px";
        objLock.style.minWidth=document.body.clientWidth+"px";
        objLock.style.minHeight=document.body.clientHeight+"px";
    // 判断输入的宽度和高度是否大于当前浏览器的宽度和高度
        if(width > document.body.clientWidth)
        width = document.body.clientWidth;
        if(height > document.body.clientHeight)
        height = document.body.clientHeight;
        objWindow.style.display="block";
        objWindow.style.width = width+"px";
        objWindow.style.height = height+"px";
    // 将弹出层居中
        objWindow.style.left=(document.body.offsetWidth - width)/2+" px";
        objWindow.style.top=(document.body.offsetHeight - height)/2+" px";
        //_displaySelect();
    }
    function hiddenWindows(){
        LockWindows.style.display='none';
        WindowDIV.style.display='none';
      // _displaySelect();
    }
    </script>
    </head><body>
    <div id="LockWindows"> <br>
    <div id="WindowDIV" align="center">   
      <input type="button" onclick="hiddenWindows();" value="关闭" / >
    </div>
    </div>
    <input type="button" onclick="openWindows('800','700');"  value="编辑" >
    <br>
           
    <a href="http://www.google.com">abc </a>
           
    </body></html>