none
关于JS中clientHeight,offsetHeight在加了DOC标准后怎么修改? RRS feed

  • 问题

  • 以下是代码:

    Code Snippet

    document.writeln("<div id=\"img1\" style=\"position:absolute; z-index:99;\">");

    document.writeln("<a href=\"http:\/\/www.xuey.net\/\" target=\"_blank\">");

    document.writeln("<img src=\"http:\/\/www.xuey.net\/images\/logo.jpg\" alt=\"点我...\" border=\"0\" \/>");

    document.writeln("<\/a>");

    document.writeln("<\/div>")

    var x = 50,y = 60

    var xin = true, yin = true

    var step = 1

    var delay = 30

    var obj=document.getElementById("img1")

    function xysfloatad() {

    var L=T=0

    var R= document.body.clientWidth-obj.offsetWidth

    var B = document.body.clientHeight-obj.offsetHeight

    obj.style.left = x + document.body.scrollLeft

    obj.style.top = y + document.body.scrollTop

    x = x + step*(xin?1:-1)

    if (x < L) { xin = true; x = L}

    if (x > R){ xin = false; x = R}

    y = y + step*(yin?1:-1)

    if (y < T) { yin = true; y = T }

    if (y > B) { yin = false; y = B }

    }

    var itl= setInterval("xysfloatad()", delay)

    obj.onmouseover=function(){clearInterval(itl)}

    obj.onmouseout=function(){itl=setInterval("xysfloatad()", delay)}

    setInterval("alert(B);", 5000);

    setInterval("alert(Y);", 5000);


    在未加这句:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    前IE下和Firefox下使用完全正常,达到理想效果。

    但如果加上了这句,IE下就是飘浮在所有内容位置,而我只需要显示在当前屏幕上,在Firefox下就根本不飘浮了,请问应该如何改,才能使其在加了w3c的doc这个下面正常飘浮,并在当前屏幕上飘,而不下沉在所有内容高度内飘。
    2009年1月19日 1:25

答案

  •  

     

    var eleHeight
    if(document.documentElement)
    eleHeight = document.documentElement.clientHeight
    else
    eleHeight = document.body.clientHeight

    2009年1月21日 0:56
    版主