1.2.0 • Published 4 years ago

@web2033/trigger v1.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

Wrapper for Intersection Observer API

Easy way to lazy-load images, trigger animation or run javascript function.

npm i @web2033/trigger
import trigger from '@web2033/trigger';

Options and their defaults:

trigger ({
    targets: false, // required @string; selector, the same as for querySelectorAll(selector)
    action() {}, // required @fn; accepts "node" as an argument, triggered once per node
    init() {}, // optionally, run a @fn on a node before attaching observer to it
    root: null, // ancestor of the target. Defaults to the browser viewport if not specified or if null.
    mt: '0px', // margin-top
    mr: '0px', // margin-right
    mb: '0px', // margin-bottom
    ml: '0px', // margin-left
    margin: false, // shorthand for margins above; if set, then "mt, mr, mb, ml" are ignored
    t: Number.MIN_VALUE // threshold, between 0 and 1
  });

Example: lazy-load images

<img data-src="https://web2033.com/cdn/jpg/w/fashion/62-1080w.jpg" alt="">
trigger({
  targets: 'img',
  margin: '20%',
  action(node) {
    node.src = node.dataset.src;
  }
});

Example: Trigger animation when element enters viewport (anime.js in this case)

/* Triggers for reveal animation */
trigger({
  targets: 'img',
  t: 0.5,
  mb: '-10%',
  init(node) {
    anime.set(node, {
      translateX: 200,
      opacity: 0
    });
  },
  action(node) {
    anime({
      targets: node,
      duration: 1000,
      translateX: 0,
      easing: 'easeOutQuint',
      opacity: {
        value: 1,
        easing: 'linear'
      }
    });
  }
});

CDN (min) https://web2033.com/cdn/js/trigger/trigger.min.js

API Docs: https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API

Polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill


MIT License | © 2020 | Eugene Kopich

1.2.0

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.5

5 years ago

1.1.4

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.0

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago