offset,scroll,client三大系列

Posted huihuihero

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了offset,scroll,client三大系列相关的知识,希望对你有一定的参考价值。

offset 偏移

  • offsetWidth是指div的宽度(包括div的边框)
    offsetWidth = width + padding + border;
  • offsetHeight是指div的高度(包括div的边框)
    offsetHeight = Height + padding + border;
  • offsetLeft是指div到整个页面左边框的距离(不包括div的边框)

  • offsetTop是指div到整个页面上边框的距离(不包括div的边框)

技术图片

scroll?????????滚动

  • scrollTop是指可视区顶部边框与整个页面上部边框的看不到的区域。

  • scrollLeft是指可视区左边边框与整个页面左边边框的看不到的区域。

  • scrollWidth是指左边看不到的区域加可视区加右边看不到的区域即整个页面的宽度(包括边框)

  • scrollHeight是指上边看不到的区域加可视区加右边看不到的区域即整个页面的高度(包括边框)

技术图片

client?? 可视区、客户端

  • event.clientX是指鼠标到可视区左边框的距离。

  • event.clientY是指鼠标到可视区上边框的距离。

  • clientWidth是指可视区的宽度。(内容区+内边距,不包括边框)

  • clientHeight是指可视区的高度。(内容区+内边距,不包括边框)

  • clientTop和clientLeft 几乎不用,因为滚动条不会在顶部和左侧

技术图片

x , y

  • clientX、clientY
    点击位置距离当前body可视区域的x,y坐标

  • pageX、pageY
    对于整个页面来说,包括了被卷去的body部分的长度

  • screenX、screenY
    点击位置距离当前电脑屏幕的x,y坐标

  • offsetX、offsetY
    相对于带有定位的父盒子的x,y坐标
    技术图片

区别

width,height
clientWidth = width + padding
clientHeight = height + padding
offsetWidth = width + padding + border
offsetHeight = height + padding + border
scrollWidth = 内容宽度(不包含border)
scrollHeight = 内容高度(不包含border)

top,left
offsetTop/offsetLeft :
调用者:任意元素。(盒子为主)
作用:距离父系盒子中带有定位的距离。
scrollTop/scrollLeft:(盒子也可以调用,必须有滚动条)
调用者:document.body.scrollTop/.....(window)
作用:浏览器无法显示的部分(被卷去的部分)
clientY/clientX:(clientTop/clientLeft 值的是border)
调用者:event.clientX(event)
作用:鼠标距离浏览器可视区域的距离(左、上)

以上是关于offset,scroll,client三大系列的主要内容,如果未能解决你的问题,请参考以下文章

js 元素offset,client , scroll 三大系列总结

js进阶之js三大家族:offset,scroll,client

JSjs进阶--之JS三大家族:offset家族 Scroll家族 client家族

javascript三大家族:offset属性 scroll属性 client属性

JavaScript BOM三大系列 :offsetclientscroll 区别以及常见属性

client,offset.scroll系列/案例