如何判断元素的哪一部分在视口内?
如何确定当前视口内DOM元素的百分比是多少? 我想计算视口内元素的面积与元素的总面积之比。
相关问题:如何判断一个DOM元素在当前视口中是否可见?
请参阅getBoundingClientRect
和Window.innerHeight
。
let {top, height} = element.getBoundingClientRect(),
percentVisible = Math.max(0, Math.min(1, (window.innerHeight - top) / height));
我在猜测你的用例,但在现代浏览器中,请参阅IntersectionObserver
及其intersectionRatio
。
上一篇: How to tell what fraction of element is inside viewport?