JavaScript中的坐标

基本概念

视口坐标:相对于浏览器左上角或相对于框架页<iframe>元素的坐标,不包括浏览器的“外壳”。

文档坐标:相对于文档左上角的坐标

除IE8及更早的版本,Window对象的pageXOffset和pageYOffset属性在所有的浏览器中提供滚动条的位置。

IE和其他浏览器可以通过scrollLeft和scrollTop属性来获得滚动条的位置。标准模式下,通过document.documentElement来获取这些属性,怪异模式下,通过document.body来获取这些属性

Example:

//获取滚动条偏移量
function getScrollOffsets(w){
    w=w||window;
   var d=w.document; if(w.pageXOffset!=null){ return { x:w.pageXOffset, y:w.pageYOffset }; } if(document.compatMode=="CSS1Compat"){ return{ x:d.documentElement.scrollLeft, y:d.documentElement.scrollTop }; } return { x:d.body.scrollLeft, y:d.body.scrollTop }; }

查询元素的几何尺寸

getBoundingClientRect方法,返回一个有left.right,top,bottom属性的对象,left,top表示元素左上角的坐标,right,bottom表示元素右下角的坐标,返回元素在视口坐标的位置,返回的坐标包含元素的边框和内边距,不包含外边距,非实时的,在用户滚动或改变浏览器窗口大小时不会更新它们。

HTML元素的offsetLeft和offsetTop属性也能返回元素的X和Y坐标(若该元素是已定位的子元素,则它返回相对于父元素的坐标,可通过offsetParent来获取它的父元素),offsetWidth和offsetHeight返回它的屏幕尺寸。

Document对象的的elementFromPoint方法返回指定位置的一个元素,传递x坐标和y坐标

滚动

Window对象的scrollTop()方法,接受一个点的X和Y坐标,并作为滚动条偏移量来设置他们

scrollby()和scroll()和scrollTo()类似,但是它的参数是相对的

可通过getBoundingClientRect计算元素位置,并转换为文档坐标,再调用scrollTo()移动到元素所在的位置。但有更简单的办法,scrollIntoView(),默认参数为true,放在视口的上边缘处,设置为false时,放在视口的下边缘处

 

转载于:https://www.cnblogs.com/goOtter/p/9397731.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值