react-stickynode 一个高性能且全面的 React 粘性组件。
粘性组件包装粘性目标,并在用户滚动页面时将目标保持在视口中。
大多数粘性组件处理粘性目标比视口短的情况,但不处理粘性目标比视口高的情况。
原因是预期的行为和实现要复杂得多。
react-stickynode 不仅处理常规情况,而且以自然的方式处理长粘性目标情况。
在常规情况下,当向下滚动页面时,react-stickynode 将粘在视口的顶部。
但是对于更高的粘性目标,它会随着页面滚动,直到它的底部到达视口的底部。
换句话说,当向下滚动页面时,看起来视口的底部会拉下粘性目标的底部。
另一方面,当向上滚动页面时,视口顶部会将粘性目标的顶部向上拉。
这种行为使高粘性目标中的内容有更多机会被显示。
这对于许多 AD 都在正确的轨道上的情况特别有用。
另一个亮点是 react-stickynode 可以处理粘性目标使用百分比作为其宽度单位的情况。
对于响应式设计的页面,它特别有用。
特性 只为所有粘性组件检索 scrollTop 一次。
聆听节流滚动以获得更好的性能。
使用 rAF 更新粘性状态以获得更好的性能。