offsetHeight,clientHeight,scrollHeight,offsetY等属性的理解

el.offsetHeight = height + padding + border(滚动条是在边框内的,自然也包括在内)
el.clientHeight = 可视化看到的高度 (就是content的高度)
el.scrollHeight = 整个元素的高度 ( 包括了clientHeight看不到的那部分,一般就是你css设置的元素高度)

el.offsetTop = 子元素的外边框到父元素的内边框的垂直距离 (没边框时自然就是content到content的距离)
el.offsetLeft = 子元素的外边框到父元素的内边框的水平距离距离

el.scrollTop = 元素被卷去的垂直距离 (就是你看不到的那部分,包括边框遮住的部分,因为遮住的部分你也看不到。结果有小数位)
在chrome下测试,当我们滑动到底部时,el.scrollHeight === el.clientHeight + Math.ceil(el.scrollTop)
el.scrollLeft = 元素被卷去的水平距离

el.clientTop = 就是元素上边框的大小 (不够语义化也不常用)
el.clientLeft = 元素左边框的大小

还有几个和mousemove鼠标移动事件相关的属性,也是比较容易混淆的
e.offsetY = 鼠标距离该元素上面的距离 (不包括边框,在边框上移动时得到的负值)
e.offsetX = 鼠标距离该元素左边的距离

e.clientY = 鼠标距离客户端可视区的垂直距离
e.clientX = 鼠标距离客户端可视区的水平距离

每次用都记不住,导致我都要google一下,确实容易混淆

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值