offsetWidth
offsetHeight
scrollLeft
scrollTop

解决方案 »

  1.   

    var offsetPos = function(obj){
    pos = {x:0,y:0};
    var tempobj = obj;
    while(tempobj!=null && tempobj.tagName && tempobj.tagName.toLowerCase()!="body")
    {
    pos.x+=tempobj.offsetLeft;
    pos.y+=tempobj.offsetTop;
    tempobj=tempobj.offsetParent;
    }
    return pos;
    }
    var absPos = function(obj){
    var pos = offsetPos(obj);
    pos.x+=document.body.scrollLeft;
    pos.y+=document.body.scrollTop;
    return pos;
    }
    var aa = absPos(div);
    alert([aa.x,aa.y]);
      

  2.   

    楼上的程序不好用哦,如上所述,document.body.scrollTop好像只取得网页初始化时的滚动条偏移量,之后通过因为用户操作而改变的滚动条偏移量好像不会在document.body.scrollTop体现出来。所以调用楼上的函数用aa.y设置div的top时,仍然在屏幕外,aa.y值为30,我想就是因为document.body.scrollTop==0的原因
      

  3.   

    解决了,我这种情况使用document.documentElement.scrollTop取得偏移量就可以了