var t=document.getElementById("name");
var top=parseInt(t.offsetTop)+parseInt(t.offsetHeight)+15;
var left=parseInt(t.offsetLeft)+10;
var s=document.getElementById("s");
s.style.display="block";
s.style.top=top+"px";
s.style.left=left+"px";t是我要参考的元素,s是我要定位的元素,好像不是很准,要加一些常量才能比较好的定位.我想象中应该能很准确的定位。谢谢大家了

解决方案 »

  1.   

    function showDiv(elem)
    {
    var tDiv=document.getElementById("你的div id");
    //elem: 即你说的文本框    var top=elem.offsetTop;
        var left=elem.offsetLeft;
        while(elem=elem.offsetParent)
        {
            top+=elem.offsetTop;
            left+=elem.offsetLeft;
        }
        
        tDiv.style.display="block";
        tDiv.style.left=left+'px';
        tDiv.style.top=top+20+'px';//这里的20就是文本框的高度,要适当调整一下
          
    }