js中各种距离clientWidth
1: offsetLeft、offsetTop、offsetHeight、offsetWidth
- 1.1 偏移参照——定位父级offsetParent
offsetParent的定义是:与当前元素最近的经过定位(position不等于static)的父级元素
要理解offsetLeft、offsetTop、offsetHeight、offsetWidth , 它们都是相对于offsetParent计算,主要分为下列几种情况 :
- 1.2 计算方式见图:
备注:如果存在垂直滚动条,offsetWidth也包括垂直滚动条的宽度;如果存在水平滚动条,offsetHeight也包括水平滚动条的高度
1.3注意事项
【1】所有偏移量属性都是只读的
【2】如果给元素设置了display:none,则它的偏移量属性都为0
【3】每次访问偏移量属性都需要重新计算(避免重复访问这些属性。如果需要重复访问,则把它们的值保存在变量中,以提高性能。)
2:clientHeight、clientWidth、clientTop、clientLeft
可视区大小client又称为可见大小或客户区大小,指的是元素内容及其内边距所占据的空间大小
2.1 clientHeight
clientHeight属性返回元素节点的可见高度
clientHeight = padding-top + height + padding-bottom2.2 clientWidth
clientWidth属性返回元素节点的可见宽度
clientWidth = padding-left + height + padding-right
[注意]滚动条宽度不计算在内2.3 clientTop :
返回上边框的宽度2.4 clientLeft :
返回左边框的宽度2.5 注意事项 :
【1】所有可视区client属性都是只读的
【2】如果给元素设置了display:none,则可视区client属性都为0
【3】每次访问可视区client属性都需要重新计算
3: scrollHeight、scrollWidth、scrollTop、scrollLeft
3.1 scrollHeight 元素的实际高度
3.2 scrollWidth 元素的实际宽度
3.3 scrollTop 如果出现y轴滚动条,那么就是 页面看不到的上边的高度
3.4 scrollLeft 如果x轴出现滚动条,那么就是 页面看不到的左边的宽度
4 : 事件 e 的一些距离
clientX 设置或获取鼠标指针位置相对于当前窗口的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条。
clientY 设置或获取鼠标指针位置相对于当前窗口的 y 坐标,其中客户区域不包括窗口自身的控件和滚动条。offsetX 设置或获取鼠标指针位置相对于触发事件的对象(自身)的 x 坐标。
offsetY 设置或获取鼠标指针位置相对于触发事件的对象(自身)的 y 坐标。screenX 设置或获取获取鼠标指针位置相对于用户屏幕的 x 坐标。
screenY 设置或获取鼠标指针位置相对于用户屏幕的 y 坐标。x 设置或获取鼠标指针位置相对于父文档的 x 像素坐标(亦即相对于当前窗口)。
y 设置或获取鼠标指针位置相对于父文档的 y 像素坐标(亦即相对于当前窗口)。