我希望点击文本框时可以在文本框下显示一个Div ,所以要知道文本框的位置请问用怎么做呀?

解决方案 »

  1.   

    在文本框下加个div
    <div id="test"></div>js里就可以
    var html = "你要显示的东西"
    document.getElementById("test").innerHTML = html;
      

  2.   

    <div id="div1" style="position:absolute; display:none">哈哈</div>
    <input type="text" onclick="show(this)">
    <script>
    function show(obj) {
    div1.style.top = obj.offsetTop + obj.offsetHeight;
    div1.style.left = obj.offsetLeft;
    div1.style.display = "";
    }
    </script>
      

  3.   

    div1.style.top = obj.offsetTop + obj.offsetHeight; 
    div1.style.left = obj.offsetLeft; 
    这两句效果不对取得不了当前文本框的位置
      

  4.   

    不好意思,我是在IE上弄的,不知道你用的是什么浏览器,FF不同
      

  5.   

    你用这个试试,obj指你的文本框,menu指你的divvar top  = findPosYInCurWindow(obj);
    var left = findPosXInCurWindow(obj);

    if(top < ietruebody().clientHeight/2){//clientHeight网页可见区域高//如果obj在可见区域的上部
    top += ietruebody().scrollTop + obj.offsetHeight;//把top设置obj按钮下部,紧挨着。
    } else{
    top += ietruebody().scrollTop - this.menu.offsetHeight;//让要menu在被按钮的上方
    }
    if(left > (ietruebody().clientWidth)*3/5){//如果在右半部分,那么就让menu的右边与obj对齐,如果obj在左边,那么就让menu的左边和obj的左边对齐.
    left -= this.menu.offsetWidth - obj.offsetWidth;
    }
    this.menu.style.top  = top  + 'px';
    this.menu.style.left = left + 'px';
    你根据显示自己微调一下