弄个全屏的iframe透明框架然后再在上面搞个层

解决方案 »

  1.   


    /**************************************** 
    function deleteDiv 
    div 
    ****************************************/ 
    function deleteDiv(id){ 
    if(document.getElementById(id)){ 
    document.getElementById(id).style.display='none'; 
    document.getElementById(id).innerHTML=""; 
    document.getElementById(id).removeNode(); 

    } /**************************************** 
    function lockScreen 
    div 
    ****************************************/ 
    function lockScreen(divId){ 
    if(document.getElementById(divId)){ 
    deleteDiv(divId); 
    }else{ 
    var oDiv = document.createElement("DIV"); 
    oDiv.id=divId; 
    oDiv.style.backgroundColor="#000000"; 
    oDiv.style.position ="absolute"; 
    oDiv.style.top = 0; 
    oDiv.style.left = 0; 
    oDiv.style.width=document.body.clientWidth+ "px"; 
    oDiv.style.height=document.body.clientHeight+ "px";//filter:alpha(Opacity=20) 
    oDiv.style.filter="alpha(Opacity=20)"; 
    //oDiv.style.z-index="1"; 
    document.body.appendChild(oDiv); 

    } 两个配合着用, 
    你的“新打开的层”要设置一个z-index保证在最上面, 
    给定一个div id的值 调用演示: 
    var lockDivId="forlockscreenohahaha"; 
    lockScreen(lockDivId); 用完后,调用: 
    deleteDiv(lockDivId); 
    删除 
    如有不合适的地方,就改改吧,祝你成功
      

  2.   

    创建一下和浏览器工作区域一样大的层,
    把事个画面盖住,然后在上面再创建显示信息用的浮层。找了个例子给你。<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>greencss.com</title>
    <script type="text/javascript">
    function sAlert(str,stitle){
    var msgw,msgh,bordercolor;
    msgw=300;//提示窗口的宽度
    msgh=100;//提示窗口的高度
    titleheight=25 //提示窗口标题高度
    bordercolor="#336699";//提示窗口的边框颜色
    titlecolor="#99CCFF";//提示窗口的标题颜色var sWidth,sHeight;
    sWidth=document.body.offsetWidth;//浏览器工作区域内页面宽度
    sHeight=screen.height;//屏幕高度(垂直分辨率)
    //背景层(大小与窗口有效区域相同,即当弹出对话框时,背景显示为放射状透明灰色)
    var bgObj=document.createElement("div");//创建一个div对象(背景层)
    //定义div属性,即相当于
    //<div id="bgDiv" style="position:absolute; top:0; background-color:#777; filter:progid:DXImagesTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75); opacity:0.6; left:0; width:918px; height:768px; z-index:10000;"></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=2,opacity=25,finishOpacity=75";
    bgObj.style.opacity="0.6";
    bgObj.style.left="0";
    bgObj.style.width=sWidth + "px";
    bgObj.style.height=sHeight*2 + "px";
    bgObj.style.zIndex = "10000";
    document.body.appendChild(bgObj);//在body内添加该div对象
    var msgObj=document.createElement("div")//创建一个div对象(提示框层)
    //定义div属性,即相当于
    //<div id="msgDiv" align="center" style="background-color:white; border:1px solid #336699; position:absolute; left:50%; top:50%; font:12px/1.6em Verdana,Geneva,Arial,Helvetica,sans-serif; margin-left:-225px; margin-top:npx; width:400px; height:100px; text-align:center; line-height:25px; z-index:100001;"></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 = "20%";
    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");//创建一个h4对象(提示框标题栏)
    //定义h4的属性,即相当于
    //<h4 id="msgTitle" align="right" style="margin:0; padding:3px; background- color:#336699; filter:progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100); opacity:0.75; border:1px solid #336699; height:18px; font:12px Verdana,Geneva,Arial,Helvetica,sans- serif; color:white; cursor:pointer;" onclick="">关闭</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=removeObj;var button=document.createElement("input");//创建一个input对象(提示框按钮)
    //定义input的属性,即相当于
    //<input type="button" align="center" style="width:100px; align:center; margin-left:250px; margin-bottom:10px;" value="关闭">
    button.setAttribute("type","button");
    button.setAttribute("value","关闭");
    button.style.width="60px";
    button.style.align="center";
    button.style.marginLeft="250px";
    button.style.marginBottom="10px";
    button.style.background=bordercolor;
    button.style.border="1px solid "+ bordercolor;
    button.style.color="white";
    button.onclick=removeObj;function removeObj(){//点击标题栏触发的事件
    document.body.removeChild(bgObj);//删除背景层Div
    document.getElementById("msgDiv").removeChild(title);//删除提示框的标题栏
    document.body.removeChild(msgObj);//删除提示框层
    }
    document.body.appendChild(msgObj);//在body内添加提示框div对象msgObj
    document.getElementById("msgDiv").appendChild(title);//在提示框div中添加标题栏对象titlevar txt=document.createElement("p");//创建一个p对象(提示框提示信息)
    //定义p的属性,即相当于
    //<p style="margin:1em 0;" id="msgTxt">测试效果</p>
    txt.style.margin="1em 0"
    txt.setAttribute("id","msgTxt");
    txt.innerHTML="<a href=http://www.myziy.com><img border=0 src="+str+"></img></a>";//来源于函数调用时的参数值
    document.getElementById("msgDiv").appendChild(txt);//在提示框div中添加提示信息对象txt
    document.getElementById("msgDiv").appendChild(button);//在提示框div中添加按钮对象button
    }</script>
    </head><body>
    <p onclick="sAlert('logo.png','登录');">登陆</p>
    <br>
    <input type="text" value="test">
    </body>
    </html>
      

  3.   

     透明层var overlay=document.createElement("div");
                overlay.id="overlay";
                overlay.onclick=hideOverlay;
                document.body.appendChild(overlay);function showOverlay(){
            var over=document.getElementById("overlay");         
            over.style.height=windowHeight()+"px";
            over.style.width=windowWidth()+"px";         
            fadeIn(over,10,1);                
            }
    function windowHeight(){//浏览器视口的宽高
    var de = document.documentElement;
    return self.innertHeight || (de && de.clientHeight)||
    document.body.clientHeight;
    }function windowWidth(){
    var de = document.documentElement;
    return self.innertWidth|| (de && de.clientWidth)||
    document.body.clientWidth;
    }
    function fadeIn(elem,max,dep){//元素透明度渐现
    setOpacity(elem,0);
    show(elem);
    for(var i=0;i<=max;i+=dep){
    (
    function(){
    var pos=i;
    setTimeout(function(){
    setOpacity(elem,pos);
    },(pos+1)*10);
    }
    )();
    }
    }给个按钮 触发showOverlay() 透明层就出现了
      

  4.   

    jQuery plug-in blockUI
    or
    thickbox