jquery怎样获取元素离浏览器可见区顶部的距离,注意不是离文档顶部的距离 10
2个回答
展开全部
getBoundingClientRect()最先是IE的私有属性,现在已经是一个W3C标准。所以你不用当心浏览器兼容问题,不过还是有区别的:IE只返回top,lef,right,bottom四个值,不够可以通过以下方法来获取width,height的值:
//兼容所有浏览器写法:
var ro = object.getBoundingClientRect();
var Top = ro.top;
var Bottom = ro.bottom;
var Left = ro.left;
var Right = ro.right;
var Width = ro.width||Right - Left;
var Height = ro.height||Bottom - Top;
//有了这个方法,获取页面元素的位置就简单多了:
var X= this.getBoundingClientRect().left+document.documentElement.scrollLeft;
var Y =this.getBoundingClientRect().top+document.documentElement.scrollTop;
//兼容所有浏览器写法:
var ro = object.getBoundingClientRect();
var Top = ro.top;
var Bottom = ro.bottom;
var Left = ro.left;
var Right = ro.right;
var Width = ro.width||Right - Left;
var Height = ro.height||Bottom - Top;
//有了这个方法,获取页面元素的位置就简单多了:
var X= this.getBoundingClientRect().left+document.documentElement.scrollLeft;
var Y =this.getBoundingClientRect().top+document.documentElement.scrollTop;
展开全部
function getAbsoluteHeight(obj){
var t=obj.offsetTop;
while((obj=obj.offsetParent)){
t+=obj.offsetTop;
}
return t;
}
这个函数的返回值就是元素距离浏览器顶部的高度!
var t=obj.offsetTop;
while((obj=obj.offsetParent)){
t+=obj.offsetTop;
}
return t;
}
这个函数的返回值就是元素距离浏览器顶部的高度!
追问
咱用呢,比如说要知道class="div"的离浏览器可见区顶部的距离
追答
var calcObj = document.getElementByClassName("div")[0];
var absTop = getAbsoluteHeight(calcObj);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询