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]};
}
//sample
var pos=getElementPos("divId");
alert("距左边距离"+ pos.x +",距上边距离"+pos.y);
function getAbsPoint(e)
{
var x = e.offsetLeft, y = e.offsetTop;
while(e=e.offsetParent)
{
x += e.offsetLeft;
y += e.offsetTop;
}
alert("x:"+x+","+"y:"+y);
}
方法2:
function getAbsPoint(obj)
{
var x,y;
oRect = obj.getBoundingClientRect();
x=oRect.left
y=oRect.top
alert("("+x+","+y+")")
}
JS中获得窗口属性的方法
1。获得屏幕的分辨率:
screen.width
screen.height
2。获得窗口大小:
document.body.clientWidth
document.body.clientHeight
3。获得窗口大小(包含Border、Scroll等元素)
document.body.offsetWidth
document.body.offsetHeight
分享到:
相关推荐
js获取页面控件坐标.pdf
pdf关键字坐标获取
javascript中获取坐标的参数javascript中获取坐标的参数javascript中获取坐标的参数javascript中获取坐标的参数
包括js获得坐标,获得浮标等js脚步集合等
js腾讯地图api获取坐标定位地理位置_soso地图api获取坐标 js腾讯地图api获取坐标定位地理位置_soso地图api获取坐标
JavaScript应用实例-click控件获取坐标位置.js
js腾讯地图api获取坐标位置是一款soso地图api获取坐标定位地理位置特效。
javascript获得对象的坐标,javascript获得对象的坐标,
js中使用百度地图,能够搜索地区,点击某个地区获取到对应的坐标值。
个体实现内容: 1、当需求为获得的坐标值相对于body时实现方法 2、当需求为获得的坐标值相对于某一对象时实现方法
js 动态设置图片的热区并获取图片坐标 浏览器 均兼容 你懂的
描述javascript获取鼠标坐标的各种方式,其中有图说明,很清晰,很容易理解!
高德地图搜索获取坐标转换地图添加标记 记得换成自己申请的KEY值。
主要介绍了js实现获取div坐标的方法,通过调用jQuery插件实现获取div元素坐标的功能,非常简单实用,需要的朋友可以参考下
通过JS得到当前焦点的坐标 如下是得到当前焦点的坐标: 代码如下: <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> <...
AutoJs源码-click控件获取坐标位置。本资源购买前提醒:本源码都是实际autojs项目模板,安装好autojs直接运行即可打开。1、支持低版本autojs。2、资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您...
javascript获取鼠标当前位置坐标,并显示出来
javascriptjs获取鼠标点击时的坐标位置 只想帮你度过这个问题 加油你也行的
高德地图路径规划api,批量获取坐标点间的距离,驾车时间等