带有 IntersectionObserver 的目录

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您的旅程的每个阶段提供云产品。 立即开始使用 200 美元的免费信用额度!

如果您在长滚动页面上有一个目录,例如,由于 position: fixed;position: sticky;,则 JavaScript 中的 IntersectionObserver API 是突出显示目录中项目时的完美伴侣,当相应内容处于视口中时。

Ben Frain 有一篇文章 全部关于这个

感谢 IntersectionObserver,我们有一小段非常高效的代码来创建我们的目录,提供快速链接以在文档中跳转,并在读者阅读时更新他们在文档中的位置。

与需要绑定到滚动事件并执行自己的数学运算的旧技术相比,此代码更短、更快且更合乎逻辑。 如果您正在寻找 Ben 网站上的演示,文章本身就是演示。 这里有一个关于它的视频

我以前提到过这些东西,但这里有一个 Bramus Van Damme 版本

这里还有一个来自 Hakim el Hattab 的版本,它正在 **强烈要求** 有人将它移植到 IntersectionObserver,因为 UI 太酷了

直接链接 →