元素或者鼠标在页面,视口,屏幕,元素中的位置 。元素和视口的宽度和高度,页面中内容向上滚动的距离。

DOM容易模糊的获取位置,宽度高度的属性 元素或者鼠标在页面,视口,屏幕,元素中的位置 。元素和视口的宽度和高度,页面中内容向上滚动的距离。

DOM 操作 - 获取元素的尺寸

offsetWidth / offsetHeight		内容+内边距+边框
clientWidth / clientHeight		内容+内边距
scrollWidth	/ scrollHeight		内容溢出,考虑溢出内容的宽度;如果内容不溢出同 client 系列一致。

getBoundingClientRect()	返回对象,对象中有 width 和 height 属性,值同 offset 系列一致。

获取视口的尺寸:

window.innerWidth
window.innerHeight

document.documentElement.clientWidth
document.documentElement.clientHeight

// 二者区别
1. 如果窗口没有滚动条,二者获取的结果一致
2. 如果出现了滚动条, window 系列会加上滚动条的宽度/高度; documentElement 系列不计算滚动条

获取整个页面的高度:

document.body.scrollHeight
或者
document.documentElement.scrollHeight

练习题
1. 获取了一个元素对象赋值给了变量 box,根据要求获取以下信息

① 获取元素在整个页面中(根元素)的位置 (注:该元素的祖先元素没有定位的)

  box.offsetLeft
  box.offsetTop

② 获取元素在视口中的位置

  box.getBoundingClientRect().left
  box.getBoundingClientRect().top

③ 获取元素的宽度和高度(包括内容、内边距和边框)

  box.offsetWidth
  box.offsetHeight

2. 根据要求获取以下信息

① 获取视口的宽度和高度

  window.innerWidth / window.innerHeight
  document.documentElement.clientWidth / document.documentElement.clientHeight

② 获取页面中内容向上滚动的距离 (滚动条向下滚动的距离)

 document.documentElement.scrollTop || document.body.scrollTop

3. 在一个鼠标事件中获取了事件对象,赋值给了变量 event,根据要求获取以下信息
① 获取鼠标在视口上的位置

  event.clientX
  event.clientY

② 获取鼠标在整个页面(根元素)上的位置

  event.pageX
  event.pageY

③ 获取鼠标在屏幕上的位置

  event.screenX
  event.screenY

④ 获取鼠标在目标元素上的位置

  event.offsetX
  event.offsetY

有帮助到的小伙伴可以给小主一个鼓励点赞哦!谢谢!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值