参考:https://juejin.im/post/5ca15c1e51882567b544ee0b
1、 Element.getBoundingClientRect()
方法返回元素的大小及其相对于视口的位置。
问题:代码都在主线程上运行,所以任何一点都可能造成性能问题
2、Intersection Observer API
Intersection observer API提供了一种方法,可以异步观察目标元素与祖先元素或顶层文件的交集变化
1 | var observer = new IntersectionObserver(callback, options) |
目标元素被认为是包含所有元素的最小矩形
可以设置 thresholds 的百分比