Skip to content

JavaScript library to observe selected elements enter or leave the viewport

License

Notifications You must be signed in to change notification settings

andy2046/skywatch

Repository files navigation

skywatch

skywatch is a JavaScript library to observe selected elements enter or leave the viewport or resize.

Examples

import { ViewportObserver, ResizeObserver } from 'skywatch'

const callback = (element, event) => {
  console.log(element, event)
}

// ViewportObserver
const obs = ViewportObserver.of({ debounce: 1000, tolerance: 20, container: window })

// callback when element enter the viewport
obs.subscribe('enter', 'div.element', callback)

// callback when element leave the viewport
obs.subscribe('leave', 'div.element', callback)

// check if element is in Viewport
ViewportObserver.inViewport('div.element')

// cleanup
obs.unsubscribe('enter', 'div.element', callback)
obs.unsubscribe('leave', 'div.element', callback)
obs.disconnect()

// ResizeObserver
const reobs = ResizeObserver.of(callback)

// observe target element
reobs.observe('div.element')

// unobserve target element
reobs.unobserve('div.element')

// cleanup
reobs.disconnect()

Installation

npm install --save skywatch

Usage

You can import from skywatch:

import { ViewportObserver, ResizeObserver } from 'skywatch'
// or
const { ViewportObserver, ResizeObserver } = require('skywatch')

About

JavaScript library to observe selected elements enter or leave the viewport

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published