zoukankan      html  css  js  c++  java
  • JS 获取控件的绝对位置

    js获取控件的绝对位置 已经控件宽度和高度
    2010-08-11 13:07

    //获取控件左绝对位置

    function getAbsoluteLeft(objectId) {
    o = document.getElementById(objectId)
    oLeft = o.offsetLeft            
    while(o.offsetParent!=null) {
    oParent = o.offsetParent    
    oLeft += oParent.offsetLeft
    o = oParent
    }
    return oLeft
    }
    //获取控件上绝对位置
    function getAbsoluteTop(objectId) {
    o = document.getElementById(objectId);
    oTop = o.offsetTop;
    while(o.offsetParent!=null)
    {  
    oParent = o.offsetParent 
    oTop += oParent.offsetTop  // Add parent top position
    o = oParent
    }
    return oTop
    }

    //获取控件宽度

    function getElementWidth(objectId) {
    x = document.getElementById(objectId);
    return x.offsetWidth;
    }

    范例演示:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>无标题页</title>
        <script type="text/javascript">
             function showTip(objShowID,objValueID)
            {
                var objToolTip= document.getElementById('toolTip');
                var objToolTipText=document.getElementById(objValueID);
                objToolTip.innerText=objToolTipText.innerText;
                objToolTip.style.display='block';
               
               
                objToolTip.style.pixelLeft=getAbsoluteLeft(objShowID);
                objToolTip.style.pixelTop=getAbsoluteTop(objShowID)+d.offsetHeight;
            }
           
           //获取控件左绝对位置

            function getAbsoluteLeft(objectId) {
                o = document.getElementById(objectId)
                oLeft = o.offsetLeft           
                while(o.offsetParent!=null) {
                oParent = o.offsetParent   
                oLeft += oParent.offsetLeft
                o = oParent
                }
                return oLeft
            }
            //获取控件上绝对位置
            function getAbsoluteTop(objectId) {
                o = document.getElementById(objectId);
                oTop = o.offsetTop;
                while(o.offsetParent!=null)
                { 
                oParent = o.offsetParent
                oTop += oParent.offsetTop  // Add parent top position
                o = oParent
                }
                return oTop
            }

        
            function Hidden()
            {
                var objToolTip= document.getElementById("toolTip");
                objToolTip.style.display='none';
            }
           
          
        </script>
        <style>
            .promptDiv
            {
                border: solid 1px #D1CDC5;
                300px;
                height: 70px;
                position: absolute;
                display: none;
                background-color: #F6F5F3;
                padding: 5px;
                overflow-y: auto;
            }
        </style>
    </head>
    <body id="bd">
        <a onmouseover="javascript:showTip('d','div1')">aaaaaaaaa</a><br />
        <a onmouseover="javascript:showTip('d','div2')">ssssssssssssss</a><br />
        <a onmouseover="javascript:showTip('d','div3')">dddddddddddd</a>
       
        <div id="div1" style="display:none;">adfasdfasdfasdfasdf</div>
        <div id="div1"  style="display:none;">adfasdfasdfasdfasdf</div>
        <div id="div2"  style="display:none;">ddddddddddddddddd</div>
        <div id="div3"  style="display:none;">adfasdfddddddddddddasdfasdfasdf</div>
        <div id="div3"  style="display:none;">xcvzxcvzcxvzxcv</div>
        <div id="toolTip" class="promptDiv"></div>
       
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <div id="d">ddddddds</div>
    </body>
    </html>

  • 相关阅读:
    通信信号处理的一些基本常识
    欧拉公式
    css3圆角讲解
    css3投影讲解、投影
    css3变形讲解
    浏览器兼容问题
    css3渐变详解
    css中em与px
    복 경 에 갑 니 다 去北京
    我在北京:)
  • 原文地址:https://www.cnblogs.com/huanghai223/p/1905884.html
Copyright © 2011-2022 走看看