lazytrigger

0.2.0 • Public • Published

lazytrigger

NPM version

Notify when certain points of the DOM enter / leave the view using on-intersect.

Installation

npm i --save lazytrigger

Example

var html = require('nanohtml')
var LazyTrigger = require('lazytrigger')
 
var trigger = new LazyTrigger(onEnter, onLeave)
 
module.exports = () => {
  return html`
    <div style="font-size: 5rem;">
      <div style="height: 200vh">Scroll down, check the console...</div>
      ${trigger.breakpoint('first')}
      <div style="height: 200vh">Even more...</div>
      ${trigger.breakpoint('second')}
    </div>
  `
}
 
function onEnter (id) {
  console.log(id + ' entered')
}
 
function onLeave (id) {
  console.log(id + ' left')
}

Why?

Put it to the bottom of an endless scrolling list, play sounds, change the background image, autoplay videos, you name it.

API

trigger = new LazyTrigger(onEnter(id), onLeave(id))

Initialize a new handler. onEnter is called when a breakpoint enters the view, onLeave is called when a breakpoint leaves the view; both get the id of the breakpoint.

trigger.breakpoint(id)

Returns an empty element that will be observed. It has a comment inside (<!-- lazytrigger {id} -->) in order to be easily identifiable.

trigger.stop(id)

Stop observing a specific breakpoint.

trigger.stopAll()

Stop observing all the breakpoints.

See Also

Readme

Keywords

Package Sidebar

Install

npm i lazytrigger

Weekly Downloads

0

Version

0.2.0

License

MIT

Unpacked Size

4.2 kB

Total Files

4

Last publish

Collaborators

  • kodedninja