js实现一个弹出层,这是有个城常规的操作,现在我要实现一个弹出层效果,根据图片等比例缩放,在IE7,8和火狐下都通过,唯一IE6中,第一点击不能水平垂直居中,求解,谢谢

解决方案 »

  1.   

    第一次点击,不能水水平和垂直居中,我测试了一下,在IE6下没获取到弹出DIV的宽高,弹出DIV的宽高,是根据里面的图片来定的
      

  2.   

    是指该div相对网页没有居中还是div里面的内容相对div没有居中啊
      

  3.   

    恩 把html和css、js的相关代码发出来吧我给你改下
      

  4.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
    <title>无标题文档</title>
    <style type="text/css">
    /*弹出层的STYLE*/
    html,body {height:100%; margin:0px; font-size:12px;}
    .mydiv {
    background-color: #ff6;
    border: 1px solid #f90;
    text-align: center;
    line-height: 40px;
    font-size: 12px;
    font-weight: bold;
    z-index:99;
    width: 300px;
    height: 120px;
    left:50%;/*FF IE7*/
    top: 50%;/*FF IE7*/
    margin-left:-150px!important;/*FF IE7 该值为本身宽的一半 */
    margin-top:-60px!important;/*FF IE7 该值为本身高的一半*/
    margin-top:0px;
    position:fixed!important;/*FF IE7*/
    position:absolute;/*IE6*/
    _top:       expression(eval(document.compatMode &&
                document.compatMode=='CSS1Compat') ?
                documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :/*IE6*/
                document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2);/*IE5 IE5.5*/
    }.bg {
    background-color: #ccc;
    width: 100%;
    height: 100%;
    left:0;
    top:0;/*FF IE7*/
    filter:alpha(opacity=50);/*IE*/
    opacity:0.5;/*FF*/
    z-index:1;
    position:fixed!important;/*FF IE7*/
    position:absolute;/*IE6*/
    _top:       expression(eval(document.compatMode &&
                document.compatMode=='CSS1Compat') ?
                documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :/*IE6*/
                document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2);/*IE5 IE5.5*/
    }
    /*The END*/
    </style>
    <script type="text/javascript">
    function showDiv(){
    document.getElementById('popDiv').style.display='block';
    document.getElementById('bg').style.display='block';
    }
    function closeDiv(){
    document.getElementById('popDiv').style.display='none';
    document.getElementById('bg').style.display='none';
    }
    </script>
    </head>
    <body>
    <div id="popDiv" class="mydiv" style="display:none;">恭喜你!<br/>你的成绩为:60分<br/>
    <a href="javascript:closeDiv()">关闭窗口</a></div>
    <div id="bg" class="bg" style="display:none;"></div>
     
    <div style="padding-top: 20px;">
    <input type="Submit" name="" value="显示层" onclick="javascript:showDiv()" />
    </div>
    </body>
    </html>
      

  5.   

    说实话 我推荐你使用thickbox
      

  6.   

    我一直在用
    使用起来也十分的方便
    你看下面的DEMO就会了