如何在javascript中获取DOM元素[x,y]坐标? 具体来说,是滚动框内按钮的坐标。
我找到了这个offsetLeft属性:
var elements = scroll.children; // with 12 children
if (!elements.item(2)) {
print("no element");
}
else if (!elements.item(2).offsetLeft) {
print("no attribute");
}
else {
print(elements.item(2).offsetLeft);
}
但它正在打印“没有属性”......
顺便说一下,它适用于Mozilla环境。
答案 0 :(得分:0)
尝试这样的事情:
// Based on code from http://www.quirksmode.org/js/findpos.html
function FindElementDocumentPosition(element) {
var left = 0;
var top = 0;
var lastElement = element;
if (element.offsetParent) {
left += element.offsetLeft;
top += element.offsetTop;
element = element.offsetParent;
while (element) {
left += element.offsetLeft;
top += element.offsetTop;
left -= element.scrollLeft;
top -= element.scrollTop;
lastElement = element;
element = element.offsetParent;
}
}
// Adjust for document scroll position
var agent = navigator.userAgent.toLowerCase();
if (!PageInStandardsMode() || (agent.indexOf('firefox') == -1)) {
var leftAdjust = document.body.scrollLeft || document.documentElement.scrollLeft;
var topAdjust = document.body.scrollTop || document.documentElement.scrollTop;
left += leftAdjust;
top += topAdjust;
}
return {
x: left,
y: top
};
}