获取标签的具体位置的函数
来源:互联网 发布:ubuntu 百度云盘下载 编辑:程序博客网 时间:2024/04/27 19:10
//var temp = document.getElementById("test_2");
//temp.style.position = "absolute";
//temp.style.top = pos.y + "px";
//temp.style.left = pos.x + "px";
//获取对象的X,Y位置 接受对象 不接收ID
function getElementPos(el) {
var ua = navigator.userAgent.toLowerCase();
var isOpera = (ua.indexOf('opera') != -1);
var isIE = (ua.indexOf('msie') != -1 && !isOpera); // not opera spoof
if(el.parentNode === null || el.style.display == 'none'){
return false;
}
var parent = null;
var pos = [];
var box;
if(el.getBoundingClientRect){//IE
box = el.getBoundingClientRect();
var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
return {x:box.left + scrollLeft, y:box.top + scrollTop};
}else if(document.getBoxObjectFor){// gecko
box = document.getBoxObjectFor(el);
var borderLeft = (el.style.borderLeftWidth)?parseInt(el.style.borderLeftWidth):0;
var borderTop = (el.style.borderTopWidth)?parseInt(el.style.borderTopWidth):0;
pos = [box.x - borderLeft, box.y - borderTop];
}else{// safari & opera
pos = [el.offsetLeft, el.offsetTop];
parent = el.offsetParent;
if (parent != el) {
while (parent) {
pos[0] += parent.offsetLeft;
pos[1] += parent.offsetTop;
parent = parent.offsetParent;
}
}
if (ua.indexOf('opera') != -1 || ( ua.indexOf('safari') != -1 && el.style.position == 'absolute' )){
pos[0] -= document.body.offsetLeft;
pos[1] -= document.body.offsetTop;
}
}
if (el.parentNode) { parent = el.parentNode; }
else { parent = null; }
while (parent && parent.tagName != 'BODY' && parent.tagName != 'HTML'){ // account for any scrolled ancestors
pos[0] -= parent.scrollLeft;
pos[1] -= parent.scrollTop;
if (parent.parentNode) { parent = parent.parentNode; }
else { parent = null; }
}
return {x:pos[0], y:pos[1]};
} // getElementPos
- 获取标签的具体位置的函数
- 用Javascript获取页面元素的具体位置
- 用Javascript获取页面元素的具体位置
- 查看进程的具体位置
- 很多电子书下载的具体位置
- 注册表启动项的具体位置
- 截断加载plugin的具体位置
- app被拒,官方提供了crash日志,需要解析获取到崩溃的具体位置(一)
- Android开发之--利用系统自带的服务获取经纬度并转为具体位置
- Solaris安装软件需要libgcc的具体位置
- linux内核中默认logo的具体位置
- TextView 中确定 ClickableSpan 的具体位置
- oc 获取经纬度具体位置
- 查找apt-get安装的软件在系统的具体位置
- 获取标签的属性
- 获取git的标签
- 自定义函数标签:实现前台小数据的获取
- UIScrollView可以定位到滚动的具体位置,就这么简单
- API函数 GetScrollPos 获取滚动条位置的妙用
- 第二周1天13章多线程的初步认识
- Java 类集 _ListIterator 接口
- 《IT项目管理那些事儿》——前言
- Ubuntu 11.04源
- 获取标签的具体位置的函数
- 2440驱动分析——LED驱动
- HDU 4004 The Frog's Games 二分+贪心
- priority_queue
- c++标准程序库的学习
- 更改权限
- 安装Java开发环境
- 不积跬步,无以至千里.不积小流,无以成江河
- 华为路由器密码恢复