判断一下鼠标事件的Y值,和WINDOWS的heigh比一下就知道了。

解决方案 »

  1.   

    请问怎么比呢,因为无法获得div的高度,所以当div需要向上生成的时候,无法定位他的top啊
      

  2.   

    定义DIV style的 visibility 可以得到高度定义top时注意下 body或documentElement 的 scrollHeight
      

  3.   

        var e = document.getElementById("divd");//你鼠标停留的对象
        var left=e.offsetLeft;    
        var top=e.offsetTop;
        var width=e.offsetWidth;
        var toptemp=e.offsetHeight;
        while (e=e.offsetParent) {
        left += e.offsetLeft;
        top += e.offsetTop;    
                                 };     
        
       top +=toptemp;
      
     var f = document.getElementById("div1");    //要漂浮出来显示的控件
     f.style.top=top;
     f.style.left=left-17;
     f.style.display="block";另外,要注意把各级div的定位改为绝对定位。还要注意把要显示的控件的z-index设的高一点。
      

  4.   


    obj.innerHTML="XXX" //先给DIV填充HTML
    var h=obj.offsetHeight //现在就有高度了
    obj.style.top=e.clientY
    if(e.clientY+h>screen.clientY)
    {
       obj.style.top=e.clientY-obj.offsetHeight
    }
      

  5.   

    obj.innerHTML="XXX" //先给DIV填充HTML
    var h=obj.offsetHeight //现在就有高度了
    obj.style.top=e.clientY
    if(e.clientY+h>document.body.clientHeight)//写错了.
    {
       obj.style.top=e.clientY-obj.offsetHeight
    }