辐射4 枪弹世界杂志:用javascript获得控件的坐标位置

来源:百度文库 编辑:高校问答 时间:2024/05/01 14:46:32
用javascript获得控件的坐标位置
如果点击 <input type="button" value="点击" onclick="get()"> 获得
<input type="text" id="_hidName">的坐标。
<SCRIPT language="javascript">
<!--
function get(){
??????????



</SCRIPT>

javascript 获取控件坐标实现方法如下:

function getPos(o) //取元素坐标 

    var x = 0, y = 0; 
    do { 
        x += o.offsetLeft; 
        y += o.offsetTop; 
    } while (o = o.offsetParent); 
    return { 'x': x, 'y': y }; 
}

补充: 
scrollHeight: 获取对象的滚动高度。 
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 
scrollWidth:获取对象的滚动宽度 
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度 
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置 
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置

event.clientX 相对文档的水平座标

event.clientY 相对文档的垂直座标

event.offsetX 相对容器的水平坐标

event.offsetY 相对容器的垂直坐标

document.documentElement.scrollTop 垂直方向滚动的值

event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量 
以上主要指IE之中,FireFox差异如下: 
IE6.0、FF1.06+: 
clientWidth = width + padding 
clientHeight = height + padding 
offsetWidth = width + padding + border 
offsetHeight = height + padding + border 
IE5.0/5.5: 
clientWidth = width - border 
clientHeight = height - border 
offsetWidth = width 
offsetHeight = height 
(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关)

<input type=\"button\" value=\"点击\" onclick=\"get()\">
<input type=\"text\" id=\"_hidName\">
<script language=\"javascript\">
<!--
function get(){
var t=document.getElementById(\"_hidName\").offsetTop;
var l=document.getElementById(\"_hidName\").offsetLeft;
alert(\"top=\"+t+\"\\nleft=\"+l);
}
</script>