Scroll the gold box through the container. The ratio meter shows intersectionRatio live, and the box turns green when isIntersecting is true at your chosen threshold.
Adjust the top/bottom rootMargin and scroll. The dashed zone is the effective detection area. Positive grows it (fires early); negative shrinks it (fires when deeper in view).
rootMargin: '0px 0px'
Scroll the container. Each item fades and slides in once, then the observer unobserve()s it. One observer watches all six items via entry.target.
Images load 100px before entering view (rootMargin: '100px'), so they're ready when you reach them. Watch the status flip from pending to loaded ahead of visibility.
The nav highlights whichever section reaches the middle of the viewport, using rootMargin: '-40% 0px -40% 0px' to define a center "active zone".