获取绝对位置

function getPos(obj){
	var l=0;
	var t=0;
	while(obj){
	  l+=obj.offsetLeft;
	  t+=obj.offsetTop;
	  obj=obj.offsetParent;
	};
	return {left:l,top:t};
}

  用一个例子来说明一下:

这是html代码

<div id="box">
        <div>
            <p></p>
        </div>
</div>

  样式:

#box{width:500px;height:500px; display:-none;margin:30px; background:red; position:relative;}
#box div{width:200px;height:200px; background:#ccc;margin:10px;}
#box p{width:100px;height:100px; background:blue; position:absolute;top:10px;left:10px;}

  然后大家看JS代码:

        var oBox=document.getElementById(‘box‘);
	var oDiv=oBox.getElementsByTagName(‘div‘)[0];
	var oP=oBox.getElementsByTagName(‘p‘)[0];
	//绝对LEFT
	//offsetParent 定位上的父级
	alert(oP.offsetLeft+oP.offsetParent.offsetLeft);

  

l+=obj.offsetLeft;
t+=obj.offsetTop;
obj=obj.offsetParent;

这三句话就相当于:l+=obj.offsetParent.offsetLeft;t+=obj.offsetParent.offsetTop;
时间: 2024-08-02 15:11:28

获取绝对位置的相关文章

获取字符位置方法

charAt,获取相应位置字符(参数:字符位置) charCodeAt 获取相应位置字符unicode编码(参数:字符位置) var txt="abcdef" 比如,txt.charAt(4); 索引号一定是从0开始,所以返回的是d 我们根据我们输入的位数返回相应的字符. unicode编码是我们字符的字符唯一表示(检测字符串长度)

如何获取鼠标位置

获取鼠标位置,首先需要加载js文件: 然后设置一个div,给定大小: 最后进行具体操作: //首先要先设置一个div,给定大小 <div id="m"></div> //进行操作 <script type="text/javascript"> var x,y,T,L; T=$("#m").offset().top;//div离开左端的距离 L=$("#m").offset().left;//

C++获取鼠标位置及全局检测鼠标行为

1.获取鼠标位置(在屏幕的位置)  CPoint m_mouse; GetCursorPos(&m_mouse); 2. 屏幕转化为客户端(控件的相对位置)& 客户端位置转化为屏幕位置 ClientToScreen(this->m_hwnd,m_mouse);  //客户端位置转化为屏幕位置 ScreenToClient(this->m_hwnd,m_mouse) ;  //屏幕转化为客户端 3.获取控件关于在屏幕的位置 CRect  rc GetWindowRect(&

百度地图定位 : 获取当前位置的经纬度

说明: 1.初始化 BaiduMap SDK要在显示界面之前,即: SDKInitializer.initialize(Context); setContentView(R.layout.main); 2. 设置定位的模式是 LocationMode.Hight_Accuracy 时,在室内可能无法获取到准确的经纬度,会得到默认的值是4.9E-324 处理办法是将模式改为Battery_Saving,或到室外 3.可以根据当前设备网络连接情况和GPS是否开启来设定定位模式 //获得网络连接情况

【全面总结】js获取元素位置大小

目录 1.关于offset offsetParent(只读) offsetTop(只读) offsetLeft(只读) offsetHeight(只读) offsetWidth(只读) 2.滚动尺寸scroll scrollWidth(只读) scrollHeight(只读) scrollLeft(可写) scrollTop(可写) 3.关于client clientWidth(只读) clentHeight(只读) clientLeft(只读) clientTop(只读) 4.关于client

微信服务号开发-获取用户位置信息

微信服务号开发-获取用户位置信息 在微信公众号开发的中,获取用户位置信息是非常常见的功能需求,通过用户的位置信息,可以做一些地图导航,以及基于LBS的营销活动.下面将介绍微信服务号获取用户位置信息的原理与步骤. 原理 1. 位置信息获取流程 2. 位置信息报文 <xml><ToUserName><![CDATA[gh_public_member_account]]></ToUserName> <FromUserName><![CDATA[o

地图篇-01.获取用户位置

地图篇-01.获取用户位置 今天把地图整理了一下,共享出来和大家一起分享,希望帮助到不了解的朋友,当然很精通的朋友希望指正小生的不足. 1.说到地图,首先要接触一个framework -CoreLocation.framework 创建一个项目 点击"+"号之后,跳转到下个界面 导入完毕 2.原理: 大家平时在使用iPhone时,每下载一个App,第一次打开的时候,都会有这样的提示 是吧,这时候我们如果选择了不允许的话,这个App是获取不了我们的位置的,相应的App里面涉及到位置的功能

HTML5页面直接调用百度地图API,获取当前位置,直接导航目的地(转)

HTML5页面直接调用百度地图API,获取当前位置,直接导航目的地 我是应用在微信中,自定义菜单,菜单直接链接到这个HTML5页面,获取当前位置后,页面中定好目的地,这样打开页面后直接进入导航页面 可以省下先发送位置信息后,点确定再出导航,省一步, <!DOCTYPE html> <html lang="zh-cmn-Hans"> <meta charset="UTF-8"> <meta name="viewpor

FineReport移动端如何获取地址位置

对于企业大多数员工来说,由于其工作位置是固定的,可以有多种方式进行上班打卡签到以保证该员工有按时正常来上班,但是对于经常需要出差,去客户现场的员工来说,就无法保证他们是否有去上班,所以希望能通过手机位置定位来保证员工有正常上班. 上述情况可以通过FineReport模板添加一个按钮控件,点击该按钮的时候,获取当前地理位置,并将该位置信息复制给某个单元格,最后员工填报当前模板即可. 实现如下图所示效果,点击地理位置按钮获取当前位置与当前时间,并显示下下方对应的单元格中: 模板制作 打开设计器,新建

跨浏览器获取窗口位置

IE.Safari.Opera.Chrome都提供了 screenLeft 和 screenTop属性分别表示窗口相对于屏幕左边和上边的位置. Firefox.Safari.Chrome在 screenX 和 screenY 中提供相同的窗口信息. Opera支持 screenX 和 screenY 属性,但与 screenLeft 和 screenTop 属性并不对应,故不要在Opera中使用 screenX 和 screenY . 使用以下代码可以跨浏览器获取窗口位置: 1 var left