日期:2014-05-16  浏览次数:20346 次

急!在线等!高分诚心求助各位JS高手大哥,怎么获得表格中元素的绝对位置(纵坐标),继续补分!
最近做项目的时候要做一个分页打印模块,而且一定要使用表格(因为在THEAD里面有重复打印标题的功能)


1.关键是不知道怎么用JS取表格里某个元素的纵坐标(绝对位置,离网页顶部的距离),请各位高手指点下该用什么方法,最好有代码。万分感谢


注:用下面这段代码就可以取到表格外元素的纵坐标,但是对表格内的元素无效了!

function getTop(e){
  var offset=e.offsetTop;
  if(e.offsetParent!=null) offset+=getTop(e.offsetParent);
  return offset;
}


2.另外想请教下,JS里面如果才能获取ie的页面设置里面的(页码和总页数),用来输出


烦请各位高手帮忙救命,指点下 - - 小弟拜谢了 问题解决后马上结贴送分



------解决方案--------------------
JScript code
function   getTop(e)   
{   
    var   x   =   e.offsetLeft,   y   =   e.offsetTop;   
    while(e=e.offsetParent) 
    { 
       x   +=   e.offsetLeft;   
       y   +=   e.offsetTop;
    } 
    alert("x:"+x+","+"y:"+y);   
}

------解决方案--------------------
推荐一下Jquery作者John Resig自己封装的常用函数
JScript code
//获取元素相对于这个页面的x和y坐标。       
function pageX(elem){   
    return elem.offsetParent?(elem.offsetLeft+pageX(elem.offsetParent)):elem.offsetLeft;   
}   
  
function pageY(elem){   
    return elem.offsetParent?(elem.offsetTop+pageY(elem.offsetParent)):elem.offsetTop;   
}

------解决方案--------------------
JScript code

function getPosition(e)
{
var left = 0;
var top = 0;
while (e.offsetParent) {
    left += e.offsetLeft;
    top += e.offsetTop;
    e = e.offsetParent;
}
left += e.offsetLeft;
top += e.offsetTop;
return {
    x: left,
    y: top
};
}
var top = getPosition(document.getElementById("div1")).y;