确定页面上元素的位置
来源:互联网 发布:阿里云域名解析ip地址 编辑:程序博客网 时间:2024/05/04 01:31
有时在做前台页面的时候,需要根据一个元素的位置来确定别的元素的位置,而有时元素的位置是很不好取的。
这是一个确定元素位置、获取当前元素位置的js方法:
//获取元素位置
function getElementPos(elementId) {
var ua = navigator.userAgent.toLowerCase();
var isOpera = (ua.indexOf('opera') != -1);
var isIE = (ua.indexOf('msie') != -1 && !isOpera); // not opera spoof
var el = document.getElementById(elementId);
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]};
}
//设置查询条件显示位置
function divpl()
{
var pos=getElementPos('term') //获取需要元素的位置
var container = document.getElementById("conte");
container.style.left =pos.x+100+"px"; //设置位置
container.style.top = pos.y+"px";
}
- 确定页面上元素的位置
- 获取一个页面元素在页面上的坐标位置
- 元素页面的位置
- JavaScript 获取鼠标及元素在页面上的位置
- 【NCL】确定要添加字符在页面上的位置-drawNDCGrid
- 获取元素的页面位置
- 折半查找确定插入数组中元素的位置
- 获得页面元素的实际位置
- JavaScript得到页面元素的位置
- getBoundingClientRect() 来获取页面元素的位置
- JS_页面大小及元素的位置
- 用Javascript获取页面元素的位置
- getBoundingClientRect() 来获取页面元素的位置
- 用Javascript获取页面元素的位置
- 精确获取页面元素的位置
- 用Javascript获取页面元素的位置
- getBoundingClientRect() 来获取页面元素的位置
- 用Javascript获取页面元素的位置
- Portlet/ pluto 程序实例 helloworld篇
- 职 业 分 析职业
- IP地址、子网掩码、网关的关系
- 方案一:ScriptX打印组件
- 王爽之《汇编语言》学习重点七
- 确定页面上元素的位置
- 在.Net窗体中使用ActiveX控件
- MySQLdb的安装
- tar
- x86汇编经验之谈
- alter system switch logfile和alter system archive log current的区别
- 模态对话框的隐藏
- C#面向对象的 this关键字的应用
- 王爽之《汇编语言》学习重点八