javascript-tutorial / javascript-tutorial/en.javascript.info
Intersection Observer API
还没有人认领这个 Issue。
- 主要语言
- HTML
- 星标
- 25.5k
- 派生
- 4k
- PR 合并指标
- 30 天内没有已合并 PR
描述
Hey!
Would be nice to see a topic about the Intersection Observer API: https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
I used it one time, where I made a navbar sticky, whenever the user scrolling down and the hero section is no longer in the viewport. Example:
function stickyHeaderHandling() {
const sectionHero = document.getElementById("hero-section");
const navHeader = document.getElementById("nav-header");
const stickyNav = function (entries) {
const [entry] = entries;
if (!entry.isIntersecting) {
navHeader.classList.add("sticky--header");
} else {
navHeader.classList.remove("sticky--header");
}
};
const heroObserver = new IntersectionObserver(stickyNav, {
root: null,
threshold: 0.1,
});
heroObserver.observe(sectionHero);
}
Also you can use it for lazy loading images, or animate html elements whenever the elements get into the viewport(https://www.itzami.com/blog/boost-your-css-animations-with-intersection-observer-api).
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
以链接的 MDN Intersection Observer API 页面作为起始参考。查看提供的 sticky navbar 示例,并考虑建议的 lazy-loading 和由 viewport 触发的动画用例。完成标准是形成一个范围明确且包含 Intersection Observer API 示例的完整教程主题。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- javascript
- 领域
- documentation, web-dev
- Issue 类型
- 文档
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100