Open includeios opened 6 years ago
在做懒加载和一些高度改变的动画时,我们需要知道元素在窗口中的位置,下面是这次整理的一些元素偏移量介绍
screen值获取到的是整个屏幕的宽高,并不会随着浏览器窗口缩放而改变
在理解偏移大小之前,首先要理解offsetParent。人们并没有把offsetParent翻译为偏移父级,而是翻译成定位父级,很大原因是offsetParent与定位有关。定位父级offsetParent的定义是:与当前元素最近的经过定位(position不等于static)的父级元素。主要分为下列几种情况:
<body>
然而,对于可被截断到下一行的行内元素(如 span),offsetTop 和 offsetLeft 描述的是第一个边界框的位置(使用 Element.getClientRects() 来获取其宽度和高度),而 offsetWidth 和 offsetHeight 描述的是边界框的尺寸(使用 Element.getBoundingClientRect 来获取其位置)。因此,使用 offsetLeft、offsetTop、offsetWidth、offsetHeight 来对应 left、top、width 和 height 的一个盒子将不会是文本容器 span 的盒子边界。
//判断一个元素是否滚动到底部 //如果元素滚动到底,下面等式返回true,没有则返回false. element.scrollHeight - element.scrollTop === element.clientHeight
关于元素到窗口距离的一些整理
在做懒加载和一些高度改变的动画时,我们需要知道元素在窗口中的位置,下面是这次整理的一些元素偏移量介绍
1. 浏览器的一些属性
2. offsetParent(定位父级)
在理解偏移大小之前,首先要理解offsetParent。人们并没有把offsetParent翻译为偏移父级,而是翻译成定位父级,很大原因是offsetParent与定位有关。定位父级offsetParent的定义是:与当前元素最近的经过定位(position不等于static)的父级元素。主要分为下列几种情况:
<body>
。<body>
元素的parentNode是null3. offsetLeft(offsetTop)
4. offsetWidth(offsetHeight)
5. scrollTop(scrollLeft)
6. scrollHeight(scrollWidth)
7. getBoundingClientReact