你可以参考这个帖子
http://bbs.51js.com/thread-44533-1-1.html
里面的方法是好使的,是不是你写的有问题
这个得循环找div的父节点 然后将左边距全部累加
我贴段代码
//d 是div 对象本身
getAbsoluteLeft = function(obj){
//获取指定元素左上角的横坐标(相对于body)
/*
obj | 指定的元素对象
*/
var selfLeft = 0;
var element = obj;
while(element){
selfLeft = selfLeft + element.offsetLeft;
element = element.offsetParent;
};
return selfLeft;
}