加多一个小要求:当页面很长超过一页时,这个DIV也会出现在页面的中间。:(~

解决方案 »

  1.   

    <style type="text/css">
      .window { BORDER-RIGHT: #606060 2px solid; PADDING-RIGHT: 2px; BORDER-TOP: #f0f0f0 2px solid; PADDING-LEFT: 2px; VISIBILITY: ; PADDING-BOTTOM: 2px; MARGIN: 0px; BORDER-LEFT: #d0d0d0 2px solid; PADDING-TOP: 2px; BORDER-BOTTOM: #404040 2px solid; POSITION: absolute; BACKGROUND-COLOR: #184BA5; TEXT-ALIGN: left;  }
     
    </style></head>
    <body>
    <div class="window" id="logon" style="LEFT:expression(Math.abs(Math.round((window.document.body.offsetWidth - this.offsetWidth)/2))); WIDTH: 360px; TOP:expression(Math.abs(Math.round((window.document.body.offsetHeight - this.offsetHeight)/2)))" style="filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=1, StartColorStr='#FF003399', EndColorStr='#FF6699CC');">测试测试测试测试
    </div>
    <p>a<p>a<p>a<p><p>a<p>a<p>a<p><p>a<p>a<p>a<p><p>a<p>a<p>a<p><p>a<p>a<p>a<p><p>a<p>a<p>a<p>
    </body>
    <script language="JavaScript" type="text/javascript">
    var divTop,divLeft,divWidth,divHeight,docHeight,docWidth,objTimer,i = 0;
    function getMsg()
    {
    try{
    divTop = parseInt(document.getElementById("logon").style.top,10)
    divLeft = parseInt(document.getElementById("logon").style.left,10)
    divHeight = parseInt(document.getElementById("logon").offsetHeight,10)
    divWidth = parseInt(document.getElementById("logon").offsetWidth,10)
    docWidth = document.body.clientWidth;
    docHeight = document.body.clientHeight;
    document.getElementById("logon").style.top = parseInt(document.body.scrollTop,10) + docHeight + 10;//  divHeight
    document.getElementById("logon").style.left = parseInt(document.body.scrollLeft,10) + (docWidth - divWidth)/2
    document.getElementById("logon").style.visibility="visible"
    objTimer = window.setInterval("moveDiv()",10)
    }
    catch(e){}
    } function resizeDiv()
    {
    try{
    divHeight = parseInt(document.getElementById("logon").offsetHeight,10)
    divWidth = parseInt(document.getElementById("logon").offsetWidth,10)
    docWidth = document.body.clientWidth;
    docHeight = document.body.clientHeight;
    document.getElementById("logon").style.top = (docHeight - divHeight)/2 + parseInt(document.body.scrollTop,10)
    document.getElementById("logon").style.left = (docWidth - divWidth)/2 + parseInt(document.body.scrollLeft,10)
    }
    catch(e){}
    } function moveDiv()
    {
    try
    {
    if(parseInt(document.getElementById("logon").style.top,10) <= (docHeight - divHeight + parseInt(document.body.scrollTop,10)))
    {
    window.clearInterval(objTimer)
    objTimer = window.setInterval("resizeDiv()",1)
    }
    divTop = parseInt(document.getElementById("logon").style.top,10)
    document.getElementById("logon").style.top = divTop - 1
    }
    catch(e){}
    }

    window.onload = getMsg;
    window.onresize = resizeDiv;
    window.onerror = function(){}
    </script>
    </html>
      

  2.   

    用css控制<style type="text/css">#test {
        margin:0 auto;
        width:760px;
    }
    </style><div id="test">hehe</div>
      

  3.   

    谢谢。知道了。:)~~孟子兄还是经常泡CSDN啊哈哈。。