JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 534
  • Score
    100M100P100Q99058F
  • License MIT

Dependency-free JavaScript library to detect when element enters into view

Package Exports

  • enter-view

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (enter-view) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

enter-view

Dependency-free JavaScript library to detect when element enters into view. See demo. It uses requestAnimationFrame in favor of scroll events for less jank. Less than 1kb minified + gzipped.

Installation

Old school (exposes the enterView global):

<script src="https://unpkg.com/enter-view"></script>

New school:

npm install enter-view --save

And then import/require it:

import enterView from 'enter-view'; // or...
const enterView = require('enterView');

Usage

enterView({
    selector: '.class-name',
    enter: function(el) {
        el.classList.add('entered');
    }
});
enterView({
    selector: '.class-name',
    enter: function(el) {
        el.classList.add('entered');
    },
    exit: function(el) {
        el.classList.remove('entered');
    },
    progress: function(el, progress) {
        el.style.opacity = progress;
    },
    offset: 0.5, // enter at middle of viewport
    once: true, // trigger just once
});

Options

selector: [string or array of elements] required

Takes a class, id, or array of dom elements.

enter: [function] optional

Callback function that returns the element that was entered.

exit: [function] optional

Callback function that returns the element that was exited.

progress: [function] optional

Callback function that returns the element that was progressed through, and a value between 0 and 1 of how far through the element progress has been made.

offset: [number] optional (defaults to 0)

A value from 0 to 1 of how far from the bottom of the viewport to offset the trigger by. 0 = top of element crosses bottom of viewport (enters screen from bottom), 1 = top of element crosses top of viewport (exits screen top).

once: [boolean] optional (defaults to false)

Whether or not to trigger the callback just once.

Contributors