# camwiegert/in-view

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/camwiegert-in-view).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

4,611 stars · 229 forks · JavaScript · MIT · archived

## Links

- GitHub: https://github.com/camwiegert/in-view
- Homepage: https://camwiegert.github.io/in-view
- awesome-repositories: https://awesome-repositories.com/repository/camwiegert-in-view.md

## Topics

`javascript` `utility` `viewport`

## Description

in-view is a DOM visibility detector and intersection observer wrapper. It serves as a viewport transition handler that triggers callbacks and events when specific screen elements enter or exit the browser window.

The library provides a system for configuring visibility criteria using pixel offsets, percentages, or custom test functions. It includes utilities for observing visibility changes, performing manual visibility evaluations, and checking the current status of an element within the visible area.

These capabilities support application patterns such as lazy loading, infinite scrolling, scroll-driven animations, and user engagement analytics.

## Tags

### Web Development

- [Intersection Observer Wrappers](https://awesome-repositories.com/f/web-development/intersection-observer-wrappers.md) — Provides a wrapper around the native browser Intersection Observer API to asynchronously monitor element visibility.
- [Viewport Visibility State Tracking](https://awesome-repositories.com/f/web-development/asynchronous-state-management/loading-state-indicators/lifecycle-state-tracking/viewport-visibility-state-tracking.md) — Maintains the visibility state of elements to prevent redundant event triggers during scroll movements.
- [Image Lazy Loading](https://awesome-repositories.com/f/web-development/lazy-loading-libraries/image-lazy-loading.md) — Defers the loading of heavy content or images until they are about to enter the visible screen area.

### Software Engineering & Architecture

- [Viewport Boundary Triggers](https://awesome-repositories.com/f/software-engineering-architecture/event-logging/state-transition-event-triggers/viewport-boundary-triggers.md) — Triggers events when elements cross the boundary of the visible viewport, including support for one-time execution. ([source](https://cdn.jsdelivr.net/gh/camwiegert/in-view@master/README.md))
- [Event-Driven Callbacks](https://awesome-repositories.com/f/software-engineering-architecture/event-driven-callbacks.md) — Provides event-driven callbacks that execute specific functions when browser visibility changes are detected.

### User Interface & Experience

- [Viewport Transition Handlers](https://awesome-repositories.com/f/user-interface-experience/animation-libraries/element-transitioning-mechanisms/viewport-transition-handlers.md) — Handles the execution of logic when elements cross visibility thresholds defined by pixel offsets or percentages.
- [DOM Visibility Detectors](https://awesome-repositories.com/f/user-interface-experience/dom-visibility-detectors.md) — Acts as a DOM visibility detector that triggers callbacks based on whether elements are visible to the user.
- [Element Visibility Detection](https://awesome-repositories.com/f/user-interface-experience/element-visibility-detection.md) — Triggers callbacks when specific screen elements enter or leave the browser's visible viewport. ([source](https://camwiegert.github.io/in-view))
- [Custom Visibility Predicates](https://awesome-repositories.com/f/user-interface-experience/empty-states/visibility-logic/custom-visibility-predicates.md) — Allows users to define custom boolean functions to override default intersection logic for precise visibility control.
- [Viewport Offset Calculators](https://awesome-repositories.com/f/user-interface-experience/grid-layouts/item-positioning/viewport-offset-calculators.md) — Implements coordinate-based calculations using pixel offsets from viewport edges to trigger visibility events.
- [Visibility Trigger Configurators](https://awesome-repositories.com/f/user-interface-experience/scroll-containers/custom-scroll-triggers/visibility-trigger-configurators.md) — Provides a configuration system to define visibility thresholds using pixels, percentages, or custom functions. ([source](https://cdn.jsdelivr.net/gh/camwiegert/in-view@master/README.md))
- [Viewport Visibility Observers](https://awesome-repositories.com/f/user-interface-experience/viewport-visibility-observers.md) — Monitors when specific DOM elements enter or leave the user's field of view to trigger logic.
- [Scroll Animations](https://awesome-repositories.com/f/user-interface-experience/scroll-animations.md) — Triggers visual effects and transitions when elements enter the viewport during scrolling.
- [Infinite Scroll Triggers](https://awesome-repositories.com/f/user-interface-experience/scroll-containers/custom-scroll-triggers/infinite-scroll-triggers.md) — Detects when sentinel elements become visible to automatically trigger the loading of additional content.
- [Manual Visibility Triggers](https://awesome-repositories.com/f/user-interface-experience/visibility-utilities/manual-visibility-triggers.md) — Includes utilities to manually force a recalculation of an element's visibility status in the viewport.
