获取dom元素那些讨厌的位置封装代码

时间:2021-05-18

介绍
解决各个浏览器下 获取dom 元素的 位置
兼容性
ie 6 7 8 firefox 3.6 chrome 4.0 目前只测试了这几个浏览器
作者
Jelle · lu QQ:271412542 Email:idche@qq.com blogs:http://putedStyle.paddingLeft) || 0;
}
} else{
// window 需要区分浏览器
//isie=/^6.0|7.0|8.0$/.test(sys.ie[1]),
if ( isie ){
width=dd.offsetWidth;
height=dd.offsetHeight;
}else{
//当前elem=window
width=elem.innerWidth;
height=elem.innerHeight;
}
}
// 返回的数据格式{width:a,height:b}
return {'width':width,'height':height};
}
//获取对象滚动条卷去的距离
_this.scroll=function(o){
var _elem = o ? o : elem,top,left;
if( _elem === window){
top=db.scrollTop+dd.scrollTop;
left=db.scrollLeft+dd.scrollLeft;
}else{
top=_elem.scrollTop || 0;
left=_elem.scrollLeft || 0;
}
return { 'top':top , 'left':left };
}
//获取对象距离父节点的 位置
_this.offparent=function(){
return {'top':_this.offset(elem).top - _this.offset(elem.parentNode).top,
'left':_this.offset(elem).left - _this.offset(elem.parentNode).left
};
}
//当前对象的可用高度与宽度
_this.client=function(){
return elem==window ? {'width':db.clientWidth,'height':db.clientHeight} :
{'height':elem.scrollWidth,'height':elem.scrollHeight};
}
//屏幕可用工作区宽度高度
_this.screen=function(){
return {'width':window.screen.availWidth,'height':window.screen.availHeight,}
}
//获取当前鼠标的位置
_this.mouse=function (e){//获取鼠标坐标 请传递evnet参数
var e = window.event || e,
p=(e.pageX || e.pageY)?{ x:e.pageX, y:e.pageY } :
{ x:e.clientX + db.scrollLeft - db.clientLeft, y:e.clientY + db.scrollTop - db.clientTop };
return elem === window ? p :
{x:p.y - _this.offset().top, y:p.x - _this.offset().left};
}
return _this;
}
</script>
</body>
</html>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章